diff options
author | Alan Modra <amodra@bigpond.net.au> | 2012-06-29 14:45:56 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2012-06-29 14:45:56 +0000 |
commit | d60ea88bc909c45c0542d9fb055eb5fc1102f422 (patch) | |
tree | 1b49e8f5c6e2f8c20196660d9f64645c796b908e /bfd/section.c | |
parent | 53d8f02cedcc9fad61571e44a607ac65fb916362 (diff) | |
download | binutils-redhat-d60ea88bc909c45c0542d9fb055eb5fc1102f422.tar.gz |
* section.c (bfd_get_linker_section): New function.
* elf32-arm.c: When retrieving SEC_LINKER_CREATED sections, use
the above throughout rather than bfd_get_section_by_name. Use
bfd_make_section_anyway rather than bfd_make_section when creating
them.
* elf32-bfin.c: Likewise.
* elf32-cr16.c: Likewise.
* elf32-cris.c: Likewise.
* elf32-frv.c: Likewise.
* elf32-hppa.c: Likewise.
* elf32-i370.c: Likewise.
* elf32-i386.c: Likewise.
* elf32-lm32.c: Likewise.
* elf32-m32c.c: Likewise.
* elf32-m32r.c: Likewise.
* elf32-m68k.c: Likewise.
* elf32-microblaze.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-rl78.c: Likewise.
* elf32-s390.c: Likewise.
* elf32-score.c: Likewise.
* elf32-score7.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-tic6x.c: Likewise.
* elf32-tilepro.c: Likewise.
* elf32-vax.c: Likewise.
* elf32-xstormy16.c: Likewise.
* elf32-xtensa.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-hppa.c: Likewise.
* elf64-ia64-vms.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-s390.c: Likewise.
* elf64-sh64.c: Likewise.
* elf64-sparc.c: Likewise.
* elf64-x86-64.c: Likewise.
* elfnn-ia64.c: Likewise.
* elfxx-mips.c: Likewise.
* elfxx-sparc.c: Likewise.
* elfxx-tilegx.c: Likewise.
* elflink.c: Likewise.
* elf-vxworks.c: Likewise.
* elf-m10300.c: Likewise. Also make use of htab plt, got and
gotplt shortcuts.
* bfd-in2.h: Regenerate.
* elf32-lm32.c (lm32_elf_check_relocs): Use the correct bfd when
calling create_rofixup_section.
* elflink.c (bfd_elf_final_link): Simplify test for .dynstr.
Diffstat (limited to 'bfd/section.c')
-rw-r--r-- | bfd/section.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/bfd/section.c b/bfd/section.c index 0a7908e1f6..a3b7c56db5 100644 --- a/bfd/section.c +++ b/bfd/section.c @@ -898,6 +898,28 @@ bfd_get_next_section_by_name (asection *sec) /* FUNCTION + bfd_get_linker_section + +SYNOPSIS + asection *bfd_get_linker_section (bfd *abfd, const char *name); + +DESCRIPTION + Return the linker created section attached to @var{abfd} + named @var{name}. Return NULL if no such section exists. +*/ + +asection * +bfd_get_linker_section (bfd *abfd, const char *name) +{ + asection *sec = bfd_get_section_by_name (abfd, name); + + while (sec != NULL && (sec->flags & SEC_LINKER_CREATED) == 0) + sec = bfd_get_next_section_by_name (sec); + return sec; +} + +/* +FUNCTION bfd_get_section_by_name_if SYNOPSIS |