aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2005-03-02 04:47:25 +0000
committerZack Weinberg <zackw@panix.com>2005-03-02 04:47:25 +0000
commit8c1acd095d2f5046e963bccf45215e0f88383adc (patch)
tree8676eb418556ca0a763069ecddf855411a77dc4b
parent71ba24a1eb676359ecb1331f7958a185f05bc8db (diff)
downloadfsf-binutils-gdb-8c1acd095d2f5046e963bccf45215e0f88383adc.zip
fsf-binutils-gdb-8c1acd095d2f5046e963bccf45215e0f88383adc.tar.gz
fsf-binutils-gdb-8c1acd095d2f5046e963bccf45215e0f88383adc.tar.bz2
* elf.c (bfd_section_from_shdr <default case>): 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.
-rw-r--r--bfd/ChangeLog11
-rw-r--r--bfd/elf.c12
-rw-r--r--bfd/elfxx-target.h4
3 files changed, 16 insertions, 11 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 9bb0c9e..ccc3c9e 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,14 @@
+2005-03-01 Zack Weinberg <zack@codesourcery.com>
+
+ * elf.c (bfd_section_from_shdr <default case>): 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 <amodra@bigpond.net.au>
* targets.h: Typo fix.
diff --git a/bfd/elf.c b/bfd/elf.c
index 504f735..75f42ed 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 09b9eee..861cb2b 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