From: Alexandre Oliva Date: Thu, 12 Dec 2002 04:32:07 +0000 (+0000) Subject: Alan Modra X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=074d08b04174859e07aadd85bca1dfdcbe161bb0;p=binutils-gdb.git Alan Modra --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 0aee95827f1..1d2ac35353c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2002-12-12 Alexandre Oliva , + + Alan Modra + + * config/tc-mn10300.h (TC_VALIDATE_FIX_SUB): Define. + (TC_LINKRELAX_FIXUP): Add comments. + 2002-12-12 Alexandre Oliva * config/tc-mn10300.c (set_arch_mach): Change argument type to diff --git a/gas/config/tc-mn10300.h b/gas/config/tc-mn10300.h index 739cd8bc3eb..69b752e5ede 100644 --- a/gas/config/tc-mn10300.h +++ b/gas/config/tc-mn10300.h @@ -47,7 +47,24 @@ extern int mn10300_force_relocation PARAMS ((struct fix *)); (! SEG_NORMAL (SEG) \ || ((SEG)->flags & SEC_CODE) != 0) -/* Fixup debug sections since we will never relax them. */ +/* We validate subtract arguments within tc_gen_reloc(), so don't + report errors at this point. */ +#define TC_VALIDATE_FIX_SUB(FIX) 1 + +/* Fixup debug sections since we will never relax them. Ideally, we + could do away with this and instead check every single fixup with + TC_FORCE_RELOCATION and TC_FORCE_RELOCATION_SUB_NAME, verifying + that the sections of the referenced symbols (and not the sections + in which the fixup appears) may be subject to relaxation. We'd + still have to check the section in which the fixup appears, because + we want to do some simplifications in debugging info that might + break in real code. + + Using the infrastructure in write.c to simplify subtraction fixups + would enable us to remove a lot of code from tc_gen_reloc(), but + this is simpler, faster, and produces almost the same effect. + Also, in the macros above, we can't check whether the fixup is in a + debugging section or not, so we have to use this for now. */ #define TC_LINKRELAX_FIXUP(seg) (seg->flags & SEC_ALLOC) #define md_operand(x)