* ldlang.c (lang_check): Emit fatal error if relocatable link

between different object flavours with relocations in input.
This commit is contained in:
Hans-Peter Nilsson 2001-06-19 19:57:39 +00:00
parent 105e7211d3
commit 429d935daa
2 changed files with 17 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2001-06-19 Hans-Peter Nilsson <hp@axis.com>
* ldlang.c (lang_check): Emit fatal error if relocatable link
between different object flavours with relocations in input.
2001-06-19 H.J. Lu <hjl@gnu.org>
* ld.texinfo (-E, --export-dynamic): Mention --version-script.

View File

@ -3520,6 +3520,18 @@ lang_check ()
bfd_printable_name (input_bfd), input_bfd,
bfd_printable_name (output_bfd));
}
else if (link_info.relocateable
/* In general it is not possible to perform a relocatable
link between differing object formats when the input
file has relocations, because the relocations in the
input format may not have equivalent representations in
the output format (and besides BFD does not translate
relocs for other link purposes than a final link). */
&& bfd_get_flavour (input_bfd) != bfd_get_flavour (output_bfd)
&& (bfd_get_file_flags (input_bfd) & HAS_RELOC) != 0)
einfo (_("%P%F: Relocatable linking with relocations from format %s (%B) to format %s (%B) is not supported\n"),
bfd_get_target (input_bfd), input_bfd,
bfd_get_target (output_bfd), output_bfd);
else if (bfd_count_sections (input_bfd))
{
/* If the input bfd has no contents, it shouldn't set the