This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [rfc] new bfd hook: additional link map text
- From: "Maciej W. Rozycki" <macro at codesourcery dot com>
- To: DJ Delorie <dj at redhat dot com>
- Cc: Alan Modra <amodra at gmail dot com>, Tristan Gingold <gingold at adacore dot com>, <binutils at sourceware dot org>
- Date: Tue, 3 Jun 2014 16:41:56 +0100
- Subject: Re: [rfc] new bfd hook: additional link map text
- Authentication-results: sourceware.org; auth=none
- References: <201404110214 dot s3B2E2IQ016910 at greed dot delorie dot com> <15F27C34-BFCC-4A1D-A705-C3AEB0464BF2 at adacore dot com> <201404222055 dot s3MKt75Y011634 at greed dot delorie dot com> <201405061515 dot s46FFnQk025221 at greed dot delorie dot com> <20140507030239 dot GY16139 at bubble dot grove dot modra dot org> <201405100233 dot s4A2XCOR030016 at greed dot delorie dot com>
On Sat, 10 May 2014, DJ Delorie wrote:
> Here's the current patch, without the debugs, with elf32-rx.h, and
> without the old bfd hook.
>
> In case you're wondering, the purpose for all this is to have better
> support for auto-generated interrupt vector tables. The compiler sets
> up all the hooks, the bfd pass stitches the tables together, and this
> new linker map hook dumps the generated table info to the map file.
>
> * 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.
This change doesn't build with the i686-linux-gnu host, mips-linux-gnu
target, --enable-targets=all:
cc1: warnings being treated as errors
.../bfd/elf32-rx.c: In function 'rx_table_map':
.../bfd/elf32-rx.c:3871: error: format '%08lx' expects type 'long unsigned int', but argument 5 has type 'bfd_vma'
.../bfd/elf32-rx.c:3876: error: format '%08lx' expects type 'long unsigned int', but argument 4 has type 'bfd_vma'
.../bfd/elf32-rx.c:3879: error: format '%08lx' expects type 'long unsigned int', but argument 3 has type 'bfd_vma'
.../bfd/elf32-rx.c:3895: error: format '%08lx' expects type 'long unsigned int', but argument 3 has type 'bfd_vma'
.../bfd/elf32-rx.c:3910: error: format '%08lx' expects type 'long unsigned int', but argument 3 has type 'bfd_vma'
.../bfd/elf32-rx.c:3915: error: format '%08lx' expects type 'long unsigned int', but argument 3 has type 'bfd_vma'
make[4]: *** [elf32-rx.lo] Error 1
Maciej