aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf64-ppc.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2010-02-08 13:16:24 +0000
committerAlan Modra <amodra@gmail.com>2010-02-08 13:16:24 +0000
commitb0dddeecc9afb76e0ecd1f3db7e372fdaedfc976 (patch)
tree0dec79524d4c905e00fb88a2c74a9c4094cec9a4 /bfd/elf64-ppc.c
parent7b356089ca4ec42d7ac39dabfb065801ccb9598e (diff)
downloadgdb-b0dddeecc9afb76e0ecd1f3db7e372fdaedfc976.zip
gdb-b0dddeecc9afb76e0ecd1f3db7e372fdaedfc976.tar.gz
gdb-b0dddeecc9afb76e0ecd1f3db7e372fdaedfc976.tar.bz2
* section.c (struct bfd_section): Delete has_tls_reloc,
has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, reloc_done. Add sec_flg0 thru sec_flg5. (BFD_FAKE_SECTION): Update for changed flags. * ecoff.c (bfd_debug_section): Likewise. * elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define. * elf64-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define. (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Update. * elf32-xtensa.c (reloc_done): Define. * elfxx-ia64.c (skip_relax_pass_0, skip_relax_pass_1): Update. * bfd-in2.h: Regenerate.
Diffstat (limited to 'bfd/elf64-ppc.c')
-rw-r--r--bfd/elf64-ppc.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 33b26cb..37701f2 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -3799,9 +3799,22 @@ struct ppc_link_hash_table
/* Rename some of the generic section flags to better document how they
are used here. */
-#define has_toc_reloc has_gp_reloc
-#define makes_toc_func_call need_finalize_relax
-#define call_check_in_progress reloc_done
+
+/* Nonzero if this section has TLS related relocations. */
+#define has_tls_reloc sec_flg0
+
+/* Nonzero if this section has a call to __tls_get_addr. */
+#define has_tls_get_addr_call sec_flg1
+
+/* Nonzero if this section has any toc or got relocs. */
+#define has_toc_reloc sec_flg2
+
+/* Nonzero if this section has a call to another section that uses
+ the toc or got. */
+#define makes_toc_func_call sec_flg4
+
+/* Recursion protection when determining above flag. */
+#define call_check_in_progress sec_flg5
/* Get the ppc64 ELF linker hash table from a link_info structure. */