1.16.0: build with --enable-symbol-lookup fails
binuils 2.34
/bin/sh ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -DCAIRO_TRACE_OUTDIR="\"/var/lib/cairo-trace\"" -I../../src -I../../src -D_REENTRANT -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/valgrind -Wall -Wextra -Wmissing-declarations -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wsign-compare -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wvolatile-register-var -Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations -Wno-missing-field-initializers -Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline -fno-strict-aliasing -fno-common -Wp,-D_FORTIFY_SOURCE=2 -Wno-unused-but-set-variable -D_REENTRANT -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto=auto -flto-partition=none -c -o libcairo_trace_la-lookup-symbol.lo `test -f 'lookup-symbol.c' || echo './'`lookup-symbol.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -DCAIRO_TRACE_OUTDIR=\"/var/lib/cairo-trace\" -I../../src -I../../src -D_REENTRANT -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/valgrind -Wall -Wextra -Wmissing-declarations -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wsign-compare -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wvolatile-register-var -Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations -Wno-missing-field-initializers -Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline -fno-strict-aliasing -fno-common -Wp,-D_FORTIFY_SOURCE=2 -Wno-unused-but-set-variable -D_REENTRANT -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto=auto -flto-partition=none -c lookup-symbol.c -fPIC -DPIC -o .libs/libcairo_trace_la-lookup-symbol.o
lookup-symbol.c: In function 'find_address_in_section':
lookup-symbol.c:148:10: error: implicit declaration of function 'bfd_get_section_flags'; did you mean 'bfd_set_section_flags'? [-Werror=implicit-function-declaration]
148 | if ((bfd_get_section_flags (symtab->bfd, section) & SEC_ALLOC) == 0)
| ^~~~~~~~~~~~~~~~~~~~~
| bfd_set_section_flags
lookup-symbol.c:151:11: error: implicit declaration of function 'bfd_get_section_vma'; did you mean 'bfd_set_section_vma'? [-Werror=implicit-function-declaration]
151 | vma = bfd_get_section_vma (symtab->bfd, section);
| ^~~~~~~~~~~~~~~~~~~
| bfd_set_section_vma
lookup-symbol.c:155:36: warning: passing argument 1 of 'bfd_section_size' from incompatible pointer type [-Wincompatible-pointer-types]
155 | size = bfd_section_size (symtab->bfd, section);
| ~~~~~~^~~~~
| |
| bfd *
In file included from lookup-symbol.c:67:
/usr/include/bfd.h:1205:35: note: expected 'const asection *' {aka 'const struct bfd_section *'} but argument is of type 'bfd *'
1205 | bfd_section_size (const asection *sec)
| ~~~~~~~~~~~~~~~~^~~
lookup-symbol.c:155:12: error: too many arguments to function 'bfd_section_size'
155 | size = bfd_section_size (symtab->bfd, section);
| ^~~~~~~~~~~~~~~~
In file included from lookup-symbol.c:67:
/usr/include/bfd.h:1205:1: note: declared here
1205 | bfd_section_size (const asection *sec)
| ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
# rpm -ql binutils-devel | grep include
/usr/include/ansidecl.h
/usr/include/bfd.h
/usr/include/bfd_stdint.h
/usr/include/bfdlink.h
/usr/include/ctf-api.h
/usr/include/ctf.h
/usr/include/demangle.h
/usr/include/diagnostics.h
/usr/include/dis-asm.h
/usr/include/libiberty.h
/usr/include/plugin-api.h
/usr/include/symcat.h
# rpm -ql binutils-devel | grep include | xargs grep bfd_get_section_flags
# rpm -ql binutils-devel | grep include | xargs grep bfd_get_section
/usr/include/bfd.h: by the contents field. This is checked by bfd_get_section_contents,
/usr/include/bfd.h:asection *bfd_get_section_by_name (bfd *abfd, const char *name);
/usr/include/bfd.h:asection *bfd_get_section_by_name_if
/usr/include/bfd.h:bfd_boolean bfd_get_section_contents
/usr/include/bfd.h:bfd_get_section_limit_octets (const bfd *abfd, const asection *sec)
/usr/include/bfd.h:bfd_get_section_limit (const bfd *abfd, const asection *sec)
/usr/include/bfd.h: return (bfd_get_section_limit_octets (abfd, sec)
/usr/include/bfd.h: bfd_boolean (*_bfd_get_section_contents) (bfd *, sec_ptr, void *, file_ptr,
/usr/include/bfd.h: bfd_boolean (*_bfd_get_section_contents_in_window) (bfd *, sec_ptr,