diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2003-09-29 23:25:08 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2003-09-29 23:25:08 +0000 |
commit | b59dd4a54059477ac426dcd09e6c8ff2b1ca8ae2 (patch) | |
tree | 8b7554aa68ba34b121c76dcf5442e6cfc0dd0652 /bfd/elfxx-ia64.c | |
parent | 7a5dd6eec4361e8679f212b891927d4157710b68 (diff) | |
download | gdb-b59dd4a54059477ac426dcd09e6c8ff2b1ca8ae2.zip gdb-b59dd4a54059477ac426dcd09e6c8ff2b1ca8ae2.tar.gz gdb-b59dd4a54059477ac426dcd09e6c8ff2b1ca8ae2.tar.bz2 |
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 c8dd9c4..2b7d9bd 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 |