This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Problems compiling elfxx-sparc.c
Hi David,
Yep, that seems to be the missing bit. I wish I could somehow
deal better with the 24 hour turnaround time for testing with
Nick. He seems to go to sleep when I wake up and work on
test fix patches. :-)
You could always emigrate... :-)
Anyways, Nick, please give this a test.
2005-04-22 David S. Miller <davem@davemloft.net>
* config.bfd (sparc*-*-*): If 32-bit elf specified, set
want64 to true. When bfd_elf32_sparc is specified add
64-bit vectors to targ_selvecs.
Sorry:
% <path-to-patched-sources>/configure --enable-targets=all
% make all-ld
[...]
../bfd/.libs/libbfd.a(elfxx-sparc.o)(.text+0x46b6): In function
`_bfd_sparc_elf_finish_dynamic_symbol':
.../bfd/elfxx-sparc.c:3427: undefined reference to
`bfd_elf64_swap_reloca_out'
../bfd/.libs/libbfd.a(elfxx-sparc.o)(.text+0x4aae): In function
`_bfd_sparc_elf_finish_dynamic_sections':
.../bfd/elfxx-sparc.c:3540: undefined reference to
`bfd_elf64_swap_dyn_in'
../bfd/.libs/libbfd.a(elfxx-sparc.o)(.text+0x4af5):
.../bfd/elfxx-sparc.c:3575: undefined reference to
`bfd_elf64_swap_dyn_out'
../bfd/.libs/libbfd.a(elfxx-sparc.o)(.text+0x4a3): In function
`sparc_elf_append_rela_64':
..../bfd/elfxx-sparc.c:509: undefined reference to
`bfd_elf64_swap_reloca_out'
collect2: ld returned 1 exit status
The problem is that --enable-targets=all beings in all of the 32-bit
targets, but sets the default target to bfd_elf32_i386_vec. So it does
not trigger the new code you added at the end of config.bfd.
I think that the question remains: Why is the 32-bit version of
elfxx-sparc.c attempting to access 64-bit functions when support for
64-bit sparcs is not enabled ?
Cheers
Nick