diff options
author | Alan Modra <amodra@gmail.com> | 2021-07-10 15:58:44 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2021-07-14 21:52:20 +0930 |
commit | 9cce9fab90e0951c6816d97801e124e392e74dd9 (patch) | |
tree | 30af6ff2fa37c54f9644201b08d17ede2f8fbc47 /gas/ChangeLog | |
parent | 51d29b8cacd75865a9ffc46cffffe1e47c33ccff (diff) | |
download | gdb-9cce9fab90e0951c6816d97801e124e392e74dd9.zip gdb-9cce9fab90e0951c6816d97801e124e392e74dd9.tar.gz gdb-9cce9fab90e0951c6816d97801e124e392e74dd9.tar.bz2 |
gas: default TC_VALIDATE_FIX_SUB to 0
gas/write.c provides a fallback TC_VALIDATE_FIX_SUB define that can be
a problem for some targets, the problem being that a non-zero
definition of TC_VALIDATE_FIX_SUB says that some uses of fx_subsy are
OK, in effect that the target will handle fx_subsy in md_apply_fix
and/or tc_gen_reloc. A lot of targets don't have the necessary
md_apply_fix and tc_gen_reloc support. So a safer default is to
disallow fx_subsy by default.
I've had a good look over target usage of fx_subsy, and think I've
caught all the cases where targets need TC_VALIDATE_FIX_SUB. Possible
failures would be limited to alpha, microblaze, ppc and s390 (the
targets that define UNDEFINED_DIFFERENCE_OK), or targets that generate
fixups with BFD_RELOC_GPREL32/16 and use a syntax explicitly showing
a difference expression.
* write.c (TC_VALIDATE_FIX_SUB): Default to 0.
* config/tc-hppa.h (TC_VALIDATE_FIX_SUB): Define.
* config/tc-microblaze.h (TC_VALIDATE_FIX_SUB): Define.
* config/tc-alpha.h (TC_VALIDATE_FIX_SUB): Define for ECOFF.
* config/tc-ppc.h (TC_VALIDATE_FIX_SUB): Don't define for ELF.
Do define for XCOFF.
Diffstat (limited to 'gas/ChangeLog')
-rw-r--r-- | gas/ChangeLog | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 7aaf08f..fbb112f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,12 @@ +2021-07-14 Alan Modra <amodra@gmail.com> + + * write.c (TC_VALIDATE_FIX_SUB): Default to 0. + * config/tc-hppa.h (TC_VALIDATE_FIX_SUB): Define. + * config/tc-microblaze.h (TC_VALIDATE_FIX_SUB): Define. + * config/tc-alpha.h (TC_VALIDATE_FIX_SUB): Define for ECOFF. + * config/tc-ppc.h (TC_VALIDATE_FIX_SUB): Don't define for ELF. + Do define for XCOFF. + 2021-07-14 Clément Chigot <clement.chigot@atos.net> * config/tc-ppc.c (ppc_change_debug_section): Update to @@ -470,7 +479,7 @@ * testsuite/gas/mips/mips2@cp3m.d: New test. * testsuite/gas/mips/r3000@cp3m.d: New test. * testsuite/gas/mips/r3900@cp3m.d: New test. - * testsuite/gas/mips/mips2@cp3d.d: New test. + * testsuite/gas/mips/mips2@cp3d.d: New test. * testsuite/gas/mips/cp0b.l: New test stderr output. * testsuite/gas/mips/cp0bl.l: New test stderr output. * testsuite/gas/mips/cp0c.l: New test stderr output. |