https://sourceware.org/bugzilla/show_bug.cgi?id=16345
--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
Both .init and .fini sections are special. This
patch warns about using "ld -r" on them:
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index 9a2fe89..098f423 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -1114,7 +1114,20 @@ gld${EMULATION_NAME}_after_open (void)
}
if (link_info.relocatable)
- return;
+ {
+ bfd *abfd;
+
+ for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next)
+ {
+ if (bfd_get_section_by_name (abfd, ".init"))
+ einfo ("%P: warning: -r on %B with .init section may lead"
+ " to incorrect output.\n", abfd);
+ if (bfd_get_section_by_name (abfd, ".fini"))
+ einfo ("%P: warning: -r on %B with .fini section may lead"
+ " to incorrect output.\n", abfd);
+ }
+ return;
+ }
if (link_info.eh_frame_hdr
&& !link_info.traditional_format)
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils