This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Breakage with "[rfc] new bfd hook: additional link map text"
- From: Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>
- To: dj at redhat dot com
- Cc: binutils at sourceware dot org
- Date: Wed, 28 May 2014 00:04:30 +0200
- Subject: Breakage with "[rfc] new bfd hook: additional link map text"
- Authentication-results: sourceware.org; auth=none
> From: DJ Delorie <dj@redhat.com>
> Date: Sat, 10 May 2014 04:33:12 +0200
> * bfd/elf32-rx.c (get_symbol_value_maybe): New.
> (rx_elf_relocate_section): If we find a reloc against
> $tableentry$default$<name>, redirect it to the appropriate
> $tableentry$<n>$.
> (RX_Table_Info): New.
> (rx_table_find): New. Check all tables and SEC_KEEP all sections
> with table parts in them.
> (rx_check_directives): New.
> (rx_table_map_2): New.
> (rx_table_map): New.
> (rx_additional_link_map_text): New. Called to dump tables to the
> map file.
> * bfd/elf32-rx.h: New.
>
> * ld/ldemul.h (extra_map_file_text): New field.
> (ldemul_extra_map_file_text): Declare.
> * ld/ldemul.c (ldemul_extra_map_file_text): Define.
> * ld/ldlang.c (lang_map): Call it.
>
> * ld/emultempl/rxelf.em: Add extra_map_file_text hook.
> * ld/emultempl/aix.em: Add NULL extra_map_file_text hook.
> * ld/emultempl/armcoff.em: Likewise.
> * ld/emultempl/beos.em: Likewise.
> * ld/emultempl/elf32.em: Likewise.
> * ld/emultempl/generic.em: Likewise.
> * ld/emultempl/gld960.em: Likewise.
> * ld/emultempl/gld960c.em: Likewise.
> * ld/emultempl/linux.em: Likewise.
> * ld/emultempl/lnk960.em: Likewise.
> * ld/emultempl/m68kcoff.em: Likewise.
> * ld/emultempl/pe.em: Likewise.
> * ld/emultempl/pep.em: Likewise.
> * ld/emultempl/sunos.em: Likewise.
> * ld/emultempl/ticoff.em: Likewise.
> * ld/emultempl/vanilla.em: Likewise.
This broke cris-elf (building the aout emulation) and
mmix-knuth-mmixware, probably various other
some-odd-emulation-included targets too as follows:
...
LIB_PATH='' /bin/bash /tmp/hpautotest-binutils/bsrc/src/ld/genscripts.sh "/tmp/hpautotest-binutils/bsrc/src/ld" "/usr/local/lib" "/usr/local" "/usr/local" x86_64-unknown-linux-gnu cris-axis-elf cris-axis-elf "criself crisaout crislinux" "/usr/local/lib /lib /usr/lib" no no crisaout ""
gcc -O2 -m32 -DHAVE_CONFIG_H -I. -I/tmp/hpautotest-binutils/bsrc/src/ld -I. -I/tmp/hpautotest-binutils/bsrc/src/ld -I../bfd -I/tmp/hpautotest-binutils/bsrc/src/ld/../bfd -I/tmp/hpautotest-binutils/bsrc/src/ld/../include -g -O2 -DENABLE_PLUGINS -DLOCALEDIR="\"/usr/local/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT ecrisaout.o -MD -MP -MF .deps/ecrisaout.Tpo -c -o ecrisaout.o ecrisaout.c
ecrisaout.c:586:3: error: called object '0u' is not a function
ecrisaout.c:587:1: error: missing initializer [-Werror=missing-field-initializers]
ecrisaout.c:587:1: error: (near initialization for 'ld_crisaout_emulation.new_vers_pattern') [-Werror=missing-field-initializers]
cc1: all warnings being treated as errors
make[4]: *** [ecrisaout.o] Error 1
make[4]: Leaving directory `/tmp/hpautotest-binutils/cris-axis-elf/ld'
...
cp /tmp/hpautotest-binutils/bsrc/src/ld/emultempl/astring.sed stringify.sed
LIB_PATH='' /bin/bash /tmp/hpautotest-binutils/bsrc/src/ld/genscripts.sh "/tmp/hpautotest-binutils/bsrc/src/ld" "/usr/local/lib" "/usr/local" "/usr/local" x86_64-unknown-linux-gnu mmix-knuth-mmixware mmix-knuth-mmixware "mmo" "/usr/local/lib /lib /usr/lib" no no mmo "mmix-knuth-mmixware"
gcc -O2 -m32 -DHAVE_CONFIG_H -I. -I/tmp/hpautotest-binutils/bsrc/src/ld -I. -I/tmp/hpautotest-binutils/bsrc/src/ld -I../bfd -I/tmp/hpautotest-binutils/bsrc/src/ld/../bfd -I/tmp/hpautotest-binutils/bsrc/src/ld/../include -g -O2 -DENABLE_PLUGINS -DLOCALEDIR="\"/usr/local/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT emmo.o -MD -MP -MF .deps/emmo.Tpo -c -o emmo.o emmo.c
emmo.c:1004:3: error: called object '0u' is not a function
emmo.c:1005:1: error: missing initializer [-Werror=missing-field-initializers]
emmo.c:1005:1: error: (near initialization for 'ld_mmo_emulation.new_vers_pattern') [-Werror=missing-field-initializers]
cc1: all warnings being treated as errors
make[4]: *** [emmo.o] Error 1
make[4]: Leaving directory `/tmp/hpautotest-binutils/mmix-knuth-mmixware/ld'
brgds, H-P