mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-23 04:28:30 +00:00
2bf6afc277
With this we don't need the EffectiveSize field anymore. Without that field LayoutFragment only updates offsets and we don't need to invalidate the current fragment when it is relaxed (only the ones following it). This is also a very small improvement in the accuracy of the layout info as we now use the after relaxation size immediately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121857 91177308-0d34-0410-b5e6-96231b3b80d8
38 lines
1.1 KiB
ArmAsm
38 lines
1.1 KiB
ArmAsm
// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s
|
|
|
|
// FIXME: This is a horrible way of checking the output, we need an llvm-mc
|
|
// based 'otool'.
|
|
|
|
// This is a case where llvm-mc computes a better layout than Darwin 'as'. This
|
|
// issue is that after the first jmp slides, the .align size must be
|
|
// recomputed -- otherwise the second jump will appear to be out-of-range for a
|
|
// 1-byte jump.
|
|
|
|
// CHECK: # Section 0
|
|
// CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
|
|
// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
|
|
// CHECK: ('address', 0)
|
|
// CHECK: ('size', 306)
|
|
// CHECK: ('offset', 324)
|
|
// CHECK: ('alignment', 4)
|
|
// CHECK: ('reloc_offset', 0)
|
|
// CHECK: ('num_reloc', 0)
|
|
// CHECK: ('flags', 0x80000400)
|
|
// CHECK: ('reserved1', 0)
|
|
// CHECK: ('reserved2', 0)
|
|
// CHECK: ),
|
|
|
|
L0:
|
|
.space 0x8a, 0x90
|
|
jmp L0
|
|
.space (0xb3 - 0x8f), 0x90
|
|
jle L2
|
|
.space (0xcd - 0xb5), 0x90
|
|
.align 4, 0x90
|
|
L1:
|
|
.space (0x130 - 0xd0),0x90
|
|
jl L1
|
|
L2:
|
|
|
|
.zerofill __DATA,__bss,_sym,4,2
|