diff options
author | Jakub Jelinek <jakub@redhat.com> | 2003-01-16 21:31:18 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2003-01-16 21:31:18 +0000 |
commit | b3dfd7fe24f18648d4cc8e044219a734c9a82fc1 (patch) | |
tree | 08c43a53da426285393a789b044d9e65577ab41b /gas | |
parent | 837fd61c26f79a84459b9d12ad1e8838c048cd33 (diff) | |
download | gdb-b3dfd7fe24f18648d4cc8e044219a734c9a82fc1.zip gdb-b3dfd7fe24f18648d4cc8e044219a734c9a82fc1.tar.gz gdb-b3dfd7fe24f18648d4cc8e044219a734c9a82fc1.tar.bz2 |
* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
self_dtpmod_done and self_dtpmod_offset.
(allocate_global_data_got): Only use one got entry for all
dtpmod relocs against local symbols.
(allocate_dynrel_entries): Only need .rela.got entry for
dtpmod against global symbol.
(elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
Reserve space in .rela.got for the local dtpmod entry.
(set_got_entry): Initialize the common local dtpmod .got entry.
(elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
and R_IA_64_DTPREL64MSB.
* config/tc-ia64.c (ia64_cons_fix_new): Handle @dtprel() in data.
* ld-ia64/ia64.exp: New.
* ld-ia64/tlsbin.dd: New test.
* ld-ia64/tlsbinpic.s: New test.
* ld-ia64/tlsbin.rd: New test.
* ld-ia64/tlsbin.s: New test.
* ld-ia64/tlsbin.sd: New test.
* ld-ia64/tlsbin.td: New test.
* ld-ia64/tlsg.s: New test.
* ld-ia64/tlsg.sd: New test.
* ld-ia64/tlslib.s: New test.
* ld-ia64/tlspic1.s: New test.
* ld-ia64/tlspic2.s: New test.
* ld-ia64/tlspic.dd: New test.
* ld-ia64/tlspic.rd: New test.
* ld-ia64/tlspic.sd: New test.
* ld-ia64/tlspic.td: New test.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 4 | ||||
-rw-r--r-- | gas/config/tc-ia64.c | 12 |
2 files changed, 15 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 065ebf9..bfaa2a6 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2003-01-16 Jakub Jelinek <jakub@redhat.com> + + * config/tc-ia64.c (ia64_cons_fix_new): Handle @dtprel() in data. + 2003-01-16 Alan Modra <amodra@bigpond.net.au> * Makefile.am: Run "make dep-am". diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index 40f6f69..a86da0e 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -1,5 +1,5 @@ /* tc-ia64.c -- Assembler for the HP/Intel IA-64 architecture. - Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by David Mosberger-Tang <davidm@hpl.hp.com> This file is part of GAS, the GNU Assembler. @@ -10074,6 +10074,16 @@ ia64_cons_fix_new (f, where, nbytes, exp) exp->X_op = O_symbol; break; } + else if (exp->X_op == O_pseudo_fixup + && exp->X_op_symbol + && S_GET_VALUE (exp->X_op_symbol) == FUNC_DTP_RELATIVE) + { + if (target_big_endian) + code = BFD_RELOC_IA64_DTPREL64MSB; + else + code = BFD_RELOC_IA64_DTPREL64LSB; + break; + } else { if (target_big_endian) |