aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-mips.h
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2003-03-12 23:07:38 +0000
committerAlexandre Oliva <aoliva@redhat.com>2003-03-12 23:07:38 +0000
commit45f8dfe8f6af5672a4be59192873d8622849916f (patch)
tree6aee7630ac4054de43be2617acfb41ab852adb86 /gas/config/tc-mips.h
parentd17b874b6c14caa2f2ed1b5544a48de9f39a1a65 (diff)
downloadgdb-45f8dfe8f6af5672a4be59192873d8622849916f.zip
gdb-45f8dfe8f6af5672a4be59192873d8622849916f.tar.gz
gdb-45f8dfe8f6af5672a4be59192873d8622849916f.tar.bz2
* config/tc-mips.c (mips_validate_fix): New function.
* config/tc-mips.h (TC_VALIDATE_FIX): Define. (mips_validate_fix): Declare.
Diffstat (limited to 'gas/config/tc-mips.h')
-rw-r--r--gas/config/tc-mips.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/gas/config/tc-mips.h b/gas/config/tc-mips.h
index e566d33..b3c2d01 100644
--- a/gas/config/tc-mips.h
+++ b/gas/config/tc-mips.h
@@ -140,6 +140,15 @@ extern int mips_fix_adjustable PARAMS ((struct fix *));
#define TC_FORCE_RELOCATION(FIX) mips_force_relocation (FIX)
extern int mips_force_relocation PARAMS ((struct fix *));
+/* We use this to turn branches to global symbols into branches to
+ local symbols, so that they can be simplified. */
+#define TC_VALIDATE_FIX(fixp, this_segment, skip_label) \
+ do \
+ if (! mips_validate_fix ((fixp), (this_segment))) \
+ goto skip_label; \
+ while (0)
+extern int mips_validate_fix PARAMS ((struct fix *, asection *));
+
/* Register mask variables. These are set by the MIPS assembly code
and used by ECOFF and possibly other object file formats. */
extern unsigned long mips_gprmask;