aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfxx-ia64.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2003-09-29 23:25:08 +0000
committerH.J. Lu <hjl.tools@gmail.com>2003-09-29 23:25:08 +0000
commitb59dd4a54059477ac426dcd09e6c8ff2b1ca8ae2 (patch)
tree8b7554aa68ba34b121c76dcf5442e6cfc0dd0652 /bfd/elfxx-ia64.c
parent7a5dd6eec4361e8679f212b891927d4157710b68 (diff)
downloadgdb-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.c20
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