From 4600db4835639751fda271513fa57e375e334e5e Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Thu, 19 May 2005 06:32:01 +0000 Subject: gas/ 2005-05-19 Jan Beulich * config/tc-ia64.c (dot_endp): Don't use global symbol for unwind relocations in unwind section. gas/testsuite/ 2005-05-19 Jan Beulich * gas/ia64/reloc-uw.s: New. * gas/ia64/reloc-uw.d: New. * gas/ia64/reloc-uw-ilp32.d: New. * gas/ia64/ia64.exp: Run new test. --- gas/config/tc-ia64.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gas/config/tc-ia64.c') diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index 43b79e5..27fa7aa 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -4442,7 +4442,13 @@ dot_endp (dummy) e.X_op = O_pseudo_fixup; e.X_op_symbol = pseudo_func[FUNC_SEG_RELATIVE].u.sym; e.X_add_number = 0; - e.X_add_symbol = unwind.proc_start; + if (!S_IS_LOCAL (unwind.proc_start) + && S_IS_DEFINED (unwind.proc_start)) + e.X_add_symbol = symbol_temp_new (S_GET_SEGMENT (unwind.proc_start), + S_GET_VALUE (unwind.proc_start), + symbol_get_frag (unwind.proc_start)); + else + e.X_add_symbol = unwind.proc_start; ia64_cons_fix_new (frag_now, where, bytes_per_address, &e); e.X_op = O_pseudo_fixup; -- cgit v1.1