tree 3c4d2862d234e1a3704c665cf7a6bf79587c33e9
parent ac51d214659139ad8260b21b1e94cb631994fc62
author Waldemar Brodkorb <wbx@openadk.org> 1724849980 +0200
committer Thomas Petazzoni <thomas.petazzoni@bootlin.com> 1725399158 +0200

package/fbdump: fix gcc 14.x issue

Following error is seen with gcc 14.x:
/home/autobuild/autobuild/instance-0/output-1/host/bin/armeb-buildroot-linux-uclibcgnueabi-gcc -DHAVE_CONFIG_H -I. -I. -I..   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -O2 -fomit-frame-pointer -s -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os -g0  -c `test -f 'main.c' || echo './'`main.c
main.c: In function 'main':
main.c:82:49: error: passing argument 4 of 'Options_parse' from incompatible pointer type [-Wincompatible-pointer-types]
   82 |   if( Options_parse( opt_template, &opts, argc, argv ) != 0 )
      |                                                 ^~~~
      |                                                 |
      |                                                 char **
In file included from main.c:17:
options.h:32:83: note: expected 'const char **' but argument is of type 'char **'
   32 | int Options_parse( const OptionTemplate *tmplt, void *opts, int argc, const char *argv[] );
      |                                                                       ~~~~~~~~~~~~^~~~~~
make[3]: *** [Makefile:240: main.o] Error 1
make[3]: Leaving directory '/home/autobuild/autobuild/instance-0/output-1/build/fbdump-0.4.2/src'
make[2]: *** [Makefile:201: all-recursive] Error 1
make[2]: Leaving directory '/home/autobuild/autobuild/instance-0/output-1/build/fbdump-0.4.2'
make[1]: *** [Makefile:156: all] Error 2
make[1]: Leaving directory '/home/autobuild/autobuild/instance-0/output-1/build/fbdump-0.4.2'

Fixes:

  http://autobuild.buildroot.net/results/3a0/3a0abff75023e257f3d6048688485a380b72fbb3

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
