Better default for elf_backend_section_from_shdr

Zack Weinberg zack@codesourcery.com
Tue Mar 1 22:41:00 GMT 2005


Currently elfxx-target.h defaults elf_backend_section_from_shdr to 0.
This means that if a third-party toolchain (or a toolchain configured
for a different ELF architecture) produces sections with types that
the generic code doesn't know about, the reader won't create entries
for them in the elf_elfsections array.  And if other sections refer to
those sections (e.g. via relocations) tools such as objdump and nm
will reject the file as ill-formed.

It seems to make more sense to set elf_backend_section_from_shdr to
_bfd_elf_make_section_from_shdr.  This causes such sections to be
treated as generic, which is usually the right thing at least for
inspection purposes.  So I would like to apply the appended patch.
Thoughts?  Should this be done for the other
elf_backend_section_from_* hooks too?

zw

        * elfxx-target.h: Default elf_backend_section_from_shdr to
        _bfd_elf_make_section_from_shdr.

===================================================================
Index: bfd/elfxx-target.h
--- bfd/elfxx-target.h	22 Feb 2005 00:50:04 -0000	1.78
+++ bfd/elfxx-target.h	1 Mar 2005 22:39:53 -0000
@@ -326,7 +326,7 @@
 #define elf_backend_section_processing	0
 #endif
 #ifndef elf_backend_section_from_shdr
-#define elf_backend_section_from_shdr	0
+#define elf_backend_section_from_shdr	_bfd_elf_make_section_from_shdr
 #endif
 #ifndef elf_backend_section_flags
 #define elf_backend_section_flags	0



More information about the Binutils mailing list