From 8c1acd095d2f5046e963bccf45215e0f88383adc Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Wed, 2 Mar 2005 04:47:25 +0000 Subject: [PATCH] * elf.c (bfd_section_from_shdr ): Call elf_backend_section_from_shdr hook unconditionally, and return what it returns. (bfd_section_from_phdr): Similarly, for elf_backend_section_from_phdr. * elfxx-target.h (elf_backend_section_from_shdr) (elf_backend_section_from_phdr): Default to _bfd_elf_make_section_from_shdr and _bfd_elf_make_section_from_phdr respectively. --- bfd/ChangeLog | 11 +++++++++++ bfd/elf.c | 12 +++--------- bfd/elfxx-target.h | 4 ++-- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9bb0c9ec84d..ccc3c9e9c4d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,14 @@ +2005-03-01 Zack Weinberg + + * elf.c (bfd_section_from_shdr ): Call + elf_backend_section_from_shdr hook unconditionally, and return + what it returns. + (bfd_section_from_phdr): Similarly, for elf_backend_section_from_phdr. + * elfxx-target.h (elf_backend_section_from_shdr) + (elf_backend_section_from_phdr): Default to + _bfd_elf_make_section_from_shdr and _bfd_elf_make_section_from_phdr + respectively. + 2005-03-01 Alan Modra * targets.h: Typo fix. diff --git a/bfd/elf.c b/bfd/elf.c index 504f73584ec..75f42edbc2a 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -2039,9 +2039,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex) default: /* Check for any processor-specific section types. */ - if (bed->elf_backend_section_from_shdr) - (*bed->elf_backend_section_from_shdr) (abfd, hdr, name); - break; + return bed->elf_backend_section_from_shdr (abfd, hdr, name); } return TRUE; @@ -2379,13 +2377,9 @@ bfd_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int index) return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "relro"); default: - /* Check for any processor-specific program segment types. - If no handler for them, default to making "segment" sections. */ + /* Check for any processor-specific program segment types. */ bed = get_elf_backend_data (abfd); - if (bed->elf_backend_section_from_phdr) - return (*bed->elf_backend_section_from_phdr) (abfd, hdr, index); - else - return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "segment"); + return bed->elf_backend_section_from_phdr (abfd, hdr, index); } } diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h index 09b9eee438e..861cb2b274a 100644 --- a/bfd/elfxx-target.h +++ b/bfd/elfxx-target.h @@ -326,13 +326,13 @@ #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 #endif #ifndef elf_backend_section_from_phdr -#define elf_backend_section_from_phdr 0 +#define elf_backend_section_from_phdr _bfd_elf_make_section_from_phdr #endif #ifndef elf_backend_fake_sections #define elf_backend_fake_sections 0 -- 2.30.2