diff options
author | Alan Modra <amodra@gmail.com> | 2001-01-30 13:40:08 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2001-01-30 13:40:08 +0000 |
commit | 3fab46d0e9bb77907b618b9fb0854a5ad1808536 (patch) | |
tree | ad8b000399767a3a31d30ea8b35126b7786a7bd6 /bfd | |
parent | 22862cde861eb154c42dede997eaeda3abdc0e03 (diff) | |
download | gdb-3fab46d0e9bb77907b618b9fb0854a5ad1808536.zip gdb-3fab46d0e9bb77907b618b9fb0854a5ad1808536.tar.gz gdb-3fab46d0e9bb77907b618b9fb0854a5ad1808536.tar.bz2 |
Write out millicode functions with the right elf symbol type.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf64-hppa.c | 17 |
2 files changed, 22 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 36b6e00..e9b8710 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2001-01-30 Alan Modra <alan@linuxcare.com.au> + + * elf64-hppa.c (elf64_hppa_elf_get_symbol_type): New function. + (elf_backend_get_symbol_type): Define. + 2001-01-30 Curtis L. Janssen <cljanss@ca.sandia.gov> * elf64-alpha.c (elf64_alpha_find_nearest_line): Query dwarf2 diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c index 465a2db..7aa4e18 100644 --- a/bfd/elf64-hppa.c +++ b/bfd/elf64-hppa.c @@ -258,6 +258,9 @@ static boolean get_dlt static boolean get_stub PARAMS ((bfd *, struct bfd_link_info *, struct elf64_hppa_link_hash_table *)); +static int elf64_hppa_elf_get_symbol_type + PARAMS ((Elf_Internal_Sym *, int)); + static boolean elf64_hppa_dyn_hash_table_init (ht, abfd, new) struct elf64_hppa_dyn_hash_table *ht; @@ -2569,6 +2572,19 @@ elf64_hppa_modify_segment_map (abfd) return true; } +/* Called when writing out an object file to decide the type of a + symbol. */ +static int +elf64_hppa_elf_get_symbol_type (elf_sym, type) + Elf_Internal_Sym *elf_sym; + int type; +{ + if (ELF_ST_TYPE (elf_sym->st_info) == STT_PARISC_MILLI) + return STT_PARISC_MILLI; + else + return type; +} + /* The hash bucket size is the standard one, namely 4. */ const struct elf_size_info hppa64_elf_size_info = @@ -2662,6 +2678,7 @@ const struct elf_size_info hppa64_elf_size_info = #define elf_backend_got_header_size 0 #define elf_backend_plt_header_size 0 #define elf_backend_type_change_ok true +#define elf_backend_get_symbol_type elf64_hppa_elf_get_symbol_type #include "elf64-target.h" |