binutils-gdb/gas/config
Clément Chigot cd026728f3 gas: improve C_BSTAT and C_STSYM symbols handling on XCOFF
A C_BSTAT debug symbol specifies the beginning of a static block.
Its n_value is the index of the csect containing static symbols.
A C_STSYM debug symbol represents the stabstring of a statically
allocated symbol. Its n_value is the offset in the csect pointed
by the containing C_BSTAT.

These two special n_value were not correctly handled both when
generating object files with gas or when reading them with objdump.
This patch tries to improve that and, above all, to allow gas-generated
object files with such symbols to be accepted by AIX ld.

bfd/
	* coff-bfd.c (bfd_coff_get_syment): Adjust n_value of symbols
	having fix_value = 1 in order to be an index and not a memory
	offset.
	* coffgen.c (coff_get_symbol_info): Likewize.
	(coff_print_symbol): Likewize.

gas/
	* config/tc-ppc.c (ppc_frob_label): Don't change within if
	already set.
	(ppc_stabx): Remove workaround changing exp.X_add_symbol's
	within.
	* config/tc-ppc.h (struct ppc_tc_sy): Update comments.
	* symbols.c (resolve_symbol_value): Remove symbol update
	when final_val is 0 and it's an AIX debug symbol.
	* testsuite/gas/ppc/aix.exp: Add new tests.
	* testsuite/gas/ppc/xcoff-stsym-32.d: New test.
	* testsuite/gas/ppc/xcoff-stsym-64.d: New test.
	* testsuite/gas/ppc/xcoff-stsym.s: New test.
2021-07-29 10:55:22 +02:00
..
atof-ieee.c
atof-vax.c
bfin-aux.h
bfin-defs.h
bfin-lex-wrapper.c
bfin-lex.l
bfin-parse.y
e-crisaout.c
e-criself.c
e-i386aout.c
e-i386coff.c
e-i386elf.c
e-mipself.c
itbl-mips.h
m68k-parse.h
m68k-parse.y
obj-aout.c
obj-aout.h
obj-coff-seh.c Allow .seh_pushframe to take an optional [code] parameter 2021-04-23 16:33:47 +01:00
obj-coff-seh.h
obj-coff.c Fix .dwsect generation for XCOFF. Handle .function generated with DWARF on XCOFF. 2021-05-07 15:29:49 +01:00
obj-coff.h Fix .dwsect generation for XCOFF. Handle .function generated with DWARF on XCOFF. 2021-05-07 15:29:49 +01:00
obj-ecoff.c
obj-ecoff.h
obj-elf.c Add the SEC_ELF_OCTETS flag to debug sections created by the assembler. 2021-07-12 17:12:13 +01:00
obj-elf.h Add a generic .bss directive for ELF based targets. 2021-05-07 17:08:48 +01:00
obj-evax.c
obj-evax.h
obj-fdpicelf.c
obj-fdpicelf.h
obj-macho.c
obj-macho.h
obj-multi.c
obj-multi.h
obj-som.c
obj-som.h
rl78-defs.h
rl78-parse.y
rx-defs.h
rx-parse.y
tc-aarch64.c opcodes: constify aarch64_opcode_tables 2021-07-01 17:51:00 -04:00
tc-aarch64.h
tc-alpha.c
tc-alpha.h gas: default TC_VALIDATE_FIX_SUB to 0 2021-07-14 21:52:20 +09:30
tc-arc.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-arc.h
tc-arm.c PATCH [10/10] arm: Alias 'ra_auth_code' to r12 for pacbti. 2021-07-26 14:18:24 +02:00
tc-arm.h
tc-avr.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-avr.h
tc-bfin.c
tc-bfin.h
tc-bpf.c
tc-bpf.h
tc-cr16.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-cr16.h
tc-cris.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-cris.h
tc-crx.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-crx.h
tc-csky.c
tc-csky.h
tc-d10v.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-d10v.h
tc-d30v.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-d30v.h
tc-dlx.c
tc-dlx.h
tc-epiphany.c
tc-epiphany.h
tc-fr30.c
tc-fr30.h
tc-frv.c
tc-frv.h
tc-ft32.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-ft32.h
tc-generic.c
tc-generic.h
tc-h8300.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-h8300.h
tc-hppa.c
tc-hppa.h gas: default TC_VALIDATE_FIX_SUB to 0 2021-07-14 21:52:20 +09:30
tc-i386-intel.c x86: remove pointless 2nd parameter from check_VecOperations() 2021-06-07 12:01:14 +02:00
tc-i386.c x86: Simplify check for distinct TMM register operands 2021-07-28 10:42:47 -07:00
tc-i386.h x86: Always define TC_PARSE_CONS_EXPRESSION 2021-06-11 06:31:59 -07:00
tc-ia64.c Re: Fix offset for ia64 PCREL60B relocation on HP-UX 2021-05-22 17:23:24 +09:30
tc-ia64.h
tc-ip2k.c
tc-ip2k.h
tc-iq2000.c
tc-iq2000.h
tc-lm32.c
tc-lm32.h
tc-m32c.c
tc-m32c.h
tc-m32r.c
tc-m32r.h
tc-m68hc11.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-m68hc11.h
tc-m68k.c
tc-m68k.h
tc-m68851.h
tc-mcore.c
tc-mcore.h
tc-mep.c
tc-mep.h
tc-metag.c
tc-metag.h
tc-microblaze.c opcodes: constify & scope microblaze opcodes 2021-07-01 17:55:26 -04:00
tc-microblaze.h gas: default TC_VALIDATE_FIX_SUB to 0 2021-07-14 21:52:20 +09:30
tc-mips.c MIPS/opcodes: Do not use CP0 register names for control registers 2021-05-29 03:26:32 +02:00
tc-mips.h
tc-mmix.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-mmix.h
tc-mn10200.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-mn10200.h
tc-mn10300.c
tc-mn10300.h
tc-moxie.c
tc-moxie.h
tc-msp430.c
tc-msp430.h
tc-mt.c
tc-mt.h
tc-nds32.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-nds32.h
tc-nios2.c
tc-nios2.h
tc-ns32k.c
tc-ns32k.h
tc-or1k.c
tc-or1k.h
tc-pdp11.c
tc-pdp11.h
tc-pj.c picojava assembler and disassembler fixes 2021-06-22 17:44:45 +09:30
tc-pj.h
tc-ppc.c gas: improve C_BSTAT and C_STSYM symbols handling on XCOFF 2021-07-29 10:55:22 +02:00
tc-ppc.h gas: improve C_BSTAT and C_STSYM symbols handling on XCOFF 2021-07-29 10:55:22 +02:00
tc-pru.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-pru.h
tc-riscv.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-riscv.h
tc-rl78.c
tc-rl78.h
tc-rx.c
tc-rx.h
tc-s12z.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-s12z.h
tc-s390.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-s390.h
tc-score7.c
tc-score.c
tc-score.h
tc-sh.c
tc-sh.h
tc-sparc.c
tc-sparc.h
tc-spu.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-spu.h
tc-tic4x.c
tc-tic4x.h
tc-tic6x.c
tc-tic6x.h
tc-tic30.c
tc-tic30.h
tc-tic54x.c C99 gas configury 2021-04-05 15:31:25 +09:30
tc-tic54x.h
tc-tilegx.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-tilegx.h
tc-tilepro.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-tilepro.h
tc-v850.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-v850.h
tc-vax.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-vax.h
tc-visium.c
tc-visium.h
tc-wasm32.c
tc-wasm32.h
tc-xc16x.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-xc16x.h
tc-xgate.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-xgate.h
tc-xstormy16.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-xstormy16.h
tc-xtensa.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-xtensa.h
tc-z8k.c
tc-z8k.h
tc-z80.c as_bad_subtract 2021-07-21 19:35:34 +09:30
tc-z80.h
te-386bsd.h
te-aix5.h
te-aix.h
te-armeabi.h
te-armfbsdeabi.h
te-armfbsdvfp.h
te-armlinuxeabi.h
te-cloudabi.h
te-csky_abiv1_linux.h
te-csky_abiv1.h
te-csky_abiv2_linux.h
te-csky_abiv2.h
te-dragonfly.h
te-freebsd.h
te-generic.h
te-gnu.h
te-go32.h
te-hppa64.h
te-hppa.h
te-hppalinux64.h
te-hpux.h
te-ia64aix.h
te-interix.h
te-irix.h
te-linux.h
te-lynx.h
te-macos.h
te-nacl.h
te-nbsd532.h
te-nbsd.h
te-pc532mach.h
te-pe.h
te-pep.h
te-solaris.h
te-svr4.h
te-tmips.h
te-uclinux.h
te-vms.c
te-vms.h
te-vxworks.h
te-wince-pe.h
vax-inst.h
xtensa-istack.h
xtensa-relax.c
xtensa-relax.h