1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/MC/PowerPC
Fangrui Song 3b526166e2 [PPC64] Update LocalEntry from assigned symbols
On PowerPC64 ELFv2 ABI, functions may have 2 entry points: global and local.
The local entry point location of a function is stored in the st_other field of the symbol, as an offset relative to the global entry point.

In order to make symbol assignments (e.g. .equ/.set) work properly with this, PPCTargetELFStreamer already copies the local entry bits from the source symbol to the destination one, on emitAssignment(). The problem is that this copy is performed only at the assignment location, where the source symbol may not yet have processed the .localentry directive, that sets the local entry. This may cause the destination symbol to end up with wrong local entry information. Other symbol info is not affected by this because, in this case, the destination symbol value is actually a symbol reference.

This change keeps track of these assignments, and update all needed st_other fields when finish() is called.

Patch by Leandro Lupori!

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D56586

llvm-svn: 361237
2019-05-21 10:41:25 +00:00
..
dcbt.s
deprecated-p7.s
directive-parse-err.s
htm.s
invalid-instructions-spellcheck.s
lcomm.s [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
lit.local.cfg
ppc32-ba.s
ppc32-extpid-e500.s
ppc32-reloc-directive.s [PowerPC] Support .reloc *, R_PPC{,64}_NONE, * 2019-05-17 06:04:11 +00:00
ppc64-abiversion.s
ppc64-dq-expr.s
ppc64-encoding-4xx.s
ppc64-encoding-6xx.s
ppc64-encoding-bookII.s
ppc64-encoding-bookIII.s Add slbfee instruction. 2019-04-15 17:08:43 +00:00
ppc64-encoding-e500.s
ppc64-encoding-ext.s
ppc64-encoding-fp.s
ppc64-encoding-p8vector.s
ppc64-encoding-spe.s
ppc64-encoding-vmx.s
ppc64-encoding.s
ppc64-errors.s
ppc64-fixup-apply.s [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
ppc64-fixup-explicit.s
ppc64-fixups.s
ppc64-initial-cfa.s [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
ppc64-localentry-error1.s
ppc64-localentry-error2.s
ppc64-localentry-symbols.s [PPC64] Update LocalEntry from assigned symbols 2019-05-21 10:41:25 +00:00
ppc64-localentry.s [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
ppc64-operands.s
ppc64-regs.s
ppc64-reloc-directive.s [PowerPC] Support .reloc *, R_PPC{,64}_NONE, * 2019-05-17 06:04:11 +00:00
ppc64-relocs-01.s
ppc64-tls-relocs-01.s
ppc-llong.s [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
ppc-machine.s
ppc-nop.s [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
ppc-reloc.s
ppc-separator.s
ppc-word.s [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
pr24686.s
pr38945.s
qpx.s
st-other-crash.s [llvm-readobj] Change -t to --symbols in tests. NFC 2019-05-01 09:28:24 +00:00
tls-gd-obj.s
tls-ie-obj.s
tls-ld-obj.s
tls-ld-v2-abi.s
tls-le-v2-abi.s
vsx.s