mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-07 13:39:43 +08:00
This is to fix unitialised memory access when printing listings. Many targets don't initialise parts of insn frags or data frags that have fixups, relying on md_apply_fix to finalise the frag. Which is fine normally, but means we need to run write_object_file after errors, for listings. Otherwise MALLOC_PERTURB_=1 causes errors like: x86_64-linux +FAIL: i386 mpx-inval-1 x86_64-linux +FAIL: i386 inval-equ-1 x86_64-linux +FAIL: i386 x86-64-mpx-inval-1 Running write_object_file after errors requires some tweaking to the testsuite, since we then get extra errors reported from md_apply_fix. gas/ * write.h (subsegs_finish): Delete declaration. * write.c (subsegs_finish): Make static. (write_object_file): Call subsegs_finish from here. Don't print warning and error count here.. * as.c (main): ..do so here instead. Remove dead code for "no object file generated". Split out count strings to better support internationalisation. Don't call subsegs_finish. Tidy setting of "keep_it". Run write_object_file even after errors. (keep_it): Make static. * config/obj-elf.c (elf_frob_symbol): Remove assert. (elf_frob_file_before_adjust): Likewise. gas/testsuite/ * gas/elf/bad-group.s: Use %function. * gas/elf/bad-group.err: Expect correct line number. Allow other errors. * gas/elf/bad-size.err: Allow other errors. Match expected error somewhat more rigorously. * gas/i386/reloc32.l: Allow other errors. * gas/i386/mpx-inval-1.l: Match applied relocs. * gas/i386/x86-64-mpx-inval-1.l: Likewise, and nop padding. * gas/i386/x86-64-mpx-inval-2.l: Match nop padding, and allow other errors. * gas/macros/dot.s: Use .balign. * gas/macros/dot.l: Update alignment output. * gas/symver/symver6.l: Allow other errors. |
||
---|---|---|
.. | ||
aarch64 | ||
all | ||
alpha | ||
arc | ||
arm | ||
avr | ||
bfin | ||
cfi | ||
cr16 | ||
cris | ||
crx | ||
d10v | ||
d30v | ||
dlx | ||
elf | ||
epiphany | ||
fr30 | ||
frv | ||
h8300 | ||
hppa | ||
i386 | ||
i860 | ||
ia64 | ||
ieee-fp | ||
iq2000 | ||
lm32 | ||
lns | ||
m32r | ||
m68hc11 | ||
m68k | ||
m68k-coff | ||
mach-o | ||
macros | ||
mcore | ||
mep | ||
metag | ||
microblaze | ||
mips | ||
mmix | ||
mn10200 | ||
mn10300 | ||
mri | ||
msp430 | ||
mt | ||
nds32 | ||
nios2 | ||
or1k | ||
pdp11 | ||
pe | ||
pj | ||
ppc | ||
rx | ||
s390 | ||
score | ||
sh | ||
sparc | ||
sparc-solaris | ||
sun4 | ||
symver | ||
tic4x | ||
tic6x | ||
tic54x | ||
tilegx | ||
tilepro | ||
v850 | ||
vax | ||
xc16x | ||
xgate | ||
xstormy16 | ||
xtensa | ||
z8k | ||
z80 | ||
template |