diff options
author | H.J. Lu <hjl@lucon.org> | 2003-09-29 23:25:08 +0000 |
---|---|---|
committer | H.J. Lu <hjl@lucon.org> | 2003-09-29 23:25:08 +0000 |
commit | b8c78db6a418fa8bb57d05e38931af4a47dc79bc (patch) | |
tree | 7d93381ae65d67560beb68583be2de7e67b977e9 /bfd/elfxx-ia64.c | |
parent | 86718691ecc0d3ee92727815c99f97f8b4d53885 (diff) | |
download | gdb-b8c78db6a418fa8bb57d05e38931af4a47dc79bc.tar.gz |
2003-09-29 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New.
Handle SHN_IA_64_ANSI_COMMON.
(elf_backend_section_from_bfd_section): Defined.
Diffstat (limited to 'bfd/elfxx-ia64.c')
-rw-r--r-- | bfd/elfxx-ia64.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index c8dd9c49b95..2b7d9bd700f 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -4784,6 +4784,23 @@ elfNN_hpux_backend_section_from_bfd_section (abfd, sec, retval) } return FALSE; } + +static void +elfNN_hpux_backend_symbol_processing (bfd *abfd ATTRIBUTE_UNUSED, + asymbol *asym) +{ + elf_symbol_type *elfsym = (elf_symbol_type *) asym;; + + switch (elfsym->internal_elf_sym.st_shndx) + { + case SHN_IA_64_ANSI_COMMON: + asym->section = bfd_com_section_ptr; + asym->value = elfsym->internal_elf_sym.st_size; + asym->flags &= ~BSF_GLOBAL; + break; + } +} + #define TARGET_LITTLE_SYM bfd_elfNN_ia64_little_vec #define TARGET_LITTLE_NAME "elfNN-ia64-little" @@ -4881,6 +4898,9 @@ elfNN_hpux_backend_section_from_bfd_section (abfd, sec, retval) #undef elf_backend_section_from_bfd_section #define elf_backend_section_from_bfd_section elfNN_hpux_backend_section_from_bfd_section +#undef elf_backend_symbol_processing +#define elf_backend_symbol_processing elfNN_hpux_backend_symbol_processing + #undef elf_backend_want_p_paddr_set_to_zero #define elf_backend_want_p_paddr_set_to_zero 1 |