aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2007-02-01 14:12:20 +0000
committerAlan Modra <amodra@gmail.com>2007-02-01 14:12:20 +0000
commit20ee54e8179d55eb972076578d9642dabd8abff8 (patch)
tree9681c4092663a2cea7325ca06c44ae58e790b0b9 /gas/config
parenteffdf42a7b31e55a7dc98137519cfacfbf400533 (diff)
downloadgdb-20ee54e8179d55eb972076578d9642dabd8abff8.zip
gdb-20ee54e8179d55eb972076578d9642dabd8abff8.tar.gz
gdb-20ee54e8179d55eb972076578d9642dabd8abff8.tar.bz2
* write.h (struct fix <fx_pcrel_adjust, fx_size>): Move.
(struct fix <fx_plt>): Rename to tcbit2. * write.c (fix_new_internal): Adjust. (TC_FORCE_RELOCATION_LOCAL): Don't test fx_plt. * config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-cris.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-i960.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-sh.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-sh64.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-sparc.h (TC_FORCE_RELOCATION_LOCAL): Likewise. * config/tc-msp430.c (msp430_force_relocation_local): Likewise. * config/tc-ia64.c (emit_one_bundle): Don't set fx_plt. * config/tc-ia64.h (TC_FORCE_RELOCATION_LOCAL): Don't test fx_plt. Instead, compare fx_r_type. * config/tc-xtensa.c (xg_add_opcode_fix, md_apply_fix): Use fx_tcbit in place of fx_plt. * config/tc-xtensa.h (TC_FORCE_RELOCATION_LOCAL): Define. * doc/internals.texi (TC_FORCE_RELOCATION_LOCAL): Remove reference to fx_plt.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-arm.h3
-rw-r--r--gas/config/tc-cris.h5
-rw-r--r--gas/config/tc-i386.h1
-rw-r--r--gas/config/tc-i960.h3
-rw-r--r--gas/config/tc-ia64.c3
-rw-r--r--gas/config/tc-ia64.h4
-rw-r--r--gas/config/tc-msp430.c4
-rw-r--r--gas/config/tc-sh.h3
-rw-r--r--gas/config/tc-sh64.h4
-rw-r--r--gas/config/tc-sparc.h4
-rw-r--r--gas/config/tc-xtensa.c5
-rw-r--r--gas/config/tc-xtensa.h4
12 files changed, 21 insertions, 22 deletions
diff --git a/gas/config/tc-arm.h b/gas/config/tc-arm.h
index 591d496..d7df213 100644
--- a/gas/config/tc-arm.h
+++ b/gas/config/tc-arm.h
@@ -1,6 +1,6 @@
/* This file is tc-arm.h
Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2005, 2006 Free Software Foundation, Inc.
+ 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
Modified by David Taylor (dtaylor@armltd.co.uk)
@@ -161,7 +161,6 @@ bfd_boolean arm_is_eabi (void);
#define TC_FORCE_RELOCATION_LOCAL(FIX) \
(!(FIX)->fx_pcrel \
- || (FIX)->fx_plt \
|| (FIX)->fx_r_type == BFD_RELOC_ARM_GOT32 \
|| (FIX)->fx_r_type == BFD_RELOC_32 \
|| TC_FORCE_RELOCATION (FIX))
diff --git a/gas/config/tc-cris.h b/gas/config/tc-cris.h
index 34e6ef8..59bbc07 100644
--- a/gas/config/tc-cris.h
+++ b/gas/config/tc-cris.h
@@ -1,5 +1,5 @@
/* tc-cris.h -- Header file for tc-cris.c, the CRIS GAS port.
- Copyright 2000, 2001, 2002, 2003, 2004, 2005
+ Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2007
Free Software Foundation, Inc.
Contributed by Axis Communications AB, Lund, Sweden.
@@ -99,10 +99,9 @@ extern int md_cris_force_relocation (struct fix *);
|| (RTYPE) == BFD_RELOC_CRIS_32_PLT_PCREL)
/* Make sure we don't resolve fixups for which we want to emit dynamic
- relocations. FIXME: Set fx_plt instead of using IS_CRIS_PIC_RELOC. */
+ relocations. */
#define TC_FORCE_RELOCATION_LOCAL(FIX) \
(!(FIX)->fx_pcrel \
- || (FIX)->fx_plt \
|| IS_CRIS_PIC_RELOC ((FIX)->fx_r_type) \
|| TC_FORCE_RELOCATION (FIX))
diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h
index 7a83e61..a2b4f5d 100644
--- a/gas/config/tc-i386.h
+++ b/gas/config/tc-i386.h
@@ -457,7 +457,6 @@ extern int tc_i386_fix_adjustable (struct fix *);
#define TC_FORCE_RELOCATION_LOCAL(FIX) \
(!(FIX)->fx_pcrel \
- || (FIX)->fx_plt \
|| (FIX)->fx_r_type == BFD_RELOC_386_PLT32 \
|| (FIX)->fx_r_type == BFD_RELOC_386_GOT32 \
|| (FIX)->fx_r_type == BFD_RELOC_386_GOTPC \
diff --git a/gas/config/tc-i960.h b/gas/config/tc-i960.h
index 05db36e..c5c33d3 100644
--- a/gas/config/tc-i960.h
+++ b/gas/config/tc-i960.h
@@ -1,6 +1,6 @@
/* tc-i960.h - Basic 80960 instruction formats.
Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003
+ 2000, 2001, 2002, 2003, 2007
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -139,7 +139,6 @@ extern int reloc_callj PARAMS ((struct fix *));
#define TC_FORCE_RELOCATION_LOCAL(FIX) \
(!(FIX)->fx_pcrel \
- || (FIX)->fx_plt \
|| TC_FORCE_RELOCATION (FIX) \
|| reloc_callj (FIX))
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c
index 53da869..3a7ac94 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, 2003, 2004, 2005, 2006
+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
@@ -7067,7 +7067,6 @@ emit_one_bundle ()
fix = fix_new_exp (frag_now, frag_now_fix () - 16 + i, 8,
&ifix->expr, ifix->is_pcrel, ifix->code);
fix->tc_fix_data.opnd = ifix->opnd;
- fix->fx_plt = (fix->fx_r_type == BFD_RELOC_IA64_PLTOFF22);
fix->fx_file = md.slot[curr].src_file;
fix->fx_line = md.slot[curr].src_line;
}
diff --git a/gas/config/tc-ia64.h b/gas/config/tc-ia64.h
index c17494b..b851b9f 100644
--- a/gas/config/tc-ia64.h
+++ b/gas/config/tc-ia64.h
@@ -1,5 +1,5 @@
/* tc-ia64.h -- Header file for tc-ia64.c.
- Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+ Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
Free Software Foundation, Inc.
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
@@ -315,5 +315,5 @@ typedef struct unwind_record
#define TC_FORCE_RELOCATION_LOCAL(FIX) \
((FIX)->fx_r_type != BFD_RELOC_UNUSED \
&& (!(FIX)->fx_pcrel \
- || (FIX)->fx_plt \
+ || (FIX)->fx_r_type == BFD_RELOC_IA64_PLTOFF22 \
|| TC_FORCE_RELOCATION (FIX)))
diff --git a/gas/config/tc-msp430.c b/gas/config/tc-msp430.c
index 72c73da..6936a2a 100644
--- a/gas/config/tc-msp430.c
+++ b/gas/config/tc-msp430.c
@@ -1,6 +1,7 @@
/* tc-msp430.c -- Assembler code for the Texas Instruments MSP430
- Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
+ Free Software Foundation, Inc.
Contributed by Dmitry Diky <diwil@mail.ru>
This file is part of GAS, the GNU Assembler.
@@ -1915,7 +1916,6 @@ msp430_force_relocation_local(fixS *fixp)
return 1;
else
return (!fixp->fx_pcrel
- || fixp->fx_plt
|| generic_force_reloc(fixp));
}
diff --git a/gas/config/tc-sh.h b/gas/config/tc-sh.h
index 4f0d11e..93fdd90 100644
--- a/gas/config/tc-sh.h
+++ b/gas/config/tc-sh.h
@@ -1,6 +1,6 @@
/* This file is tc-sh.h
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -189,7 +189,6 @@ extern bfd_boolean sh_fix_adjustable (struct fix *);
#define TC_FORCE_RELOCATION_LOCAL(FIX) \
(!(FIX)->fx_pcrel \
- || (FIX)->fx_plt \
|| (FIX)->fx_r_type == BFD_RELOC_32_PLT_PCREL \
|| (FIX)->fx_r_type == BFD_RELOC_32_GOT_PCREL \
|| (FIX)->fx_r_type == BFD_RELOC_SH_GOTPC \
diff --git a/gas/config/tc-sh64.h b/gas/config/tc-sh64.h
index 21f5d59..f31f750 100644
--- a/gas/config/tc-sh64.h
+++ b/gas/config/tc-sh64.h
@@ -1,5 +1,6 @@
/* This file is tc-sh64.h
- Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002, 2003, 2007
+ Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -79,7 +80,6 @@ extern int sh64_target_mach (void);
#undef TC_FORCE_RELOCATION_LOCAL
#define TC_FORCE_RELOCATION_LOCAL(FIX) \
(!(FIX)->fx_pcrel \
- || (FIX)->fx_plt \
|| (FIX)->fx_r_type == BFD_RELOC_32_PLT_PCREL \
|| (FIX)->fx_r_type == BFD_RELOC_SH_PLT_LOW16 \
|| (FIX)->fx_r_type == BFD_RELOC_SH_PLT_MEDLOW16 \
diff --git a/gas/config/tc-sparc.h b/gas/config/tc-sparc.h
index 3318ddd..90c0e95 100644
--- a/gas/config/tc-sparc.h
+++ b/gas/config/tc-sparc.h
@@ -1,6 +1,7 @@
/* tc-sparc.h - Macros and type defines for the sparc.
Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002, 2003, 2005, 2007
+ Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -91,7 +92,6 @@ extern void sparc_handle_align PARAMS ((struct frag *));
#define TC_FORCE_RELOCATION_LOCAL(FIX) \
(!(FIX)->fx_pcrel \
- || (FIX)->fx_plt \
|| (sparc_pic_code \
&& S_IS_EXTERNAL ((FIX)->fx_addsy)) \
|| TC_FORCE_RELOCATION (FIX))
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index a8cfd2b..1facdc5 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -4118,7 +4118,7 @@ xg_add_opcode_fix (TInsn *tinsn,
if (expr->X_add_symbol
&& (S_IS_EXTERNAL (expr->X_add_symbol)
|| S_IS_WEAK (expr->X_add_symbol)))
- the_fix->fx_plt = TRUE;
+ the_fix->fx_tcbit = TRUE;
the_fix->tc_fix_data.X_add_symbol = expr->X_add_symbol;
the_fix->tc_fix_data.X_add_number = expr->X_add_number;
@@ -5566,7 +5566,8 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
readable when all branch targets are encoded in relocations. */
assert (fixP->fx_addsy);
- if (S_GET_SEGMENT (fixP->fx_addsy) == seg && !fixP->fx_plt
+ if (S_GET_SEGMENT (fixP->fx_addsy) == seg
+ && !fixP->fx_tcbit
&& !S_FORCE_RELOC (fixP->fx_addsy, 1))
{
val = (S_GET_VALUE (fixP->fx_addsy) + fixP->fx_offset
diff --git a/gas/config/tc-xtensa.h b/gas/config/tc-xtensa.h
index 838a9ad..47fee4e 100644
--- a/gas/config/tc-xtensa.h
+++ b/gas/config/tc-xtensa.h
@@ -319,6 +319,10 @@ extern char *xtensa_section_rename (char *);
#define TC_FORCE_RELOCATION(fix) xtensa_force_relocation (fix)
#define TC_FORCE_RELOCATION_SUB_SAME(fix, seg) \
(! SEG_NORMAL (seg) || xtensa_force_relocation (fix))
+#define TC_FORCE_RELOCATION_LOCAL(FIX) \
+ (!(FIX)->fx_pcrel \
+ || (FIX)->fx_tcbit \
+ || TC_FORCE_RELOCATION (FIX))
#define TC_VALIDATE_FIX_SUB(fix) xtensa_validate_fix_sub (fix)
#define NO_PSEUDO_DOT xtensa_check_inside_bundle ()
#define tc_canonicalize_symbol_name(s) xtensa_section_rename (s)