[lld] r199231 - [Mips] Move got16.test assembler source code to the test file and use
Simon Atanasyan
simon at atanasyan.com
Tue Jan 14 10:18:50 PST 2014
Author: atanasyan
Date: Tue Jan 14 12:18:49 2014
New Revision: 199231
URL: http://llvm.org/viewvc/llvm-project?rev=199231&view=rev
Log:
[Mips] Move got16.test assembler source code to the test file and use
llvm-mc for an object file generation.
Removed:
lld/trunk/test/elf/Mips/Inputs/got16.o
lld/trunk/test/elf/Mips/Inputs/got16.s
Modified:
lld/trunk/test/elf/Mips/got16.test
Removed: lld/trunk/test/elf/Mips/Inputs/got16.o
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/Inputs/got16.o?rev=199230&view=auto
==============================================================================
Binary files lld/trunk/test/elf/Mips/Inputs/got16.o (original) and lld/trunk/test/elf/Mips/Inputs/got16.o (removed) differ
Removed: lld/trunk/test/elf/Mips/Inputs/got16.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/Inputs/got16.s?rev=199230&view=auto
==============================================================================
--- lld/trunk/test/elf/Mips/Inputs/got16.s (original)
+++ lld/trunk/test/elf/Mips/Inputs/got16.s (removed)
@@ -1,23 +0,0 @@
-# as -mips32r2 -EL -o got16.o got16.s
- .global glob
- .ent glob
-glob:
- lw $4,%got(local)($28)
- addiu $4,$4,%lo(local)
- lw $4,%got(hidden)($28)
- lw $4,%call16(glob)($28)
- lw $4,%call16(extern)($28)
- .end glob
-
- .data
- .type local,%object
- .size local,4
-local:
- .word undef
-
- .globl hidden
- .hidden hidden
- .type hidden,%object
- .size hidden,4
-hidden:
- .word 0
Modified: lld/trunk/test/elf/Mips/got16.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Mips/got16.test?rev=199231&r1=199230&r2=199231&view=diff
==============================================================================
--- lld/trunk/test/elf/Mips/got16.test (original)
+++ lld/trunk/test/elf/Mips/got16.test Tue Jan 14 12:18:49 2014
@@ -1,83 +1,120 @@
# Check handling of global/local GOT16 relocations.
-RUN: lld -flavor gnu -target mipsel -shared --noinhibit-exec \
-RUN: --output-filetype=yaml -o %t %p/Inputs/got16.o
-RUN: FileCheck %s < %t
-
-CHECK: - ref-name: L002
-CHECK: type: got
-CHECK: content: [ 00, 00, 00, 00 ]
-CHECK: alignment: 2^2
-CHECK: section-choice: custom-required
-CHECK: section-name: .got
-CHECK: permissions: rw-
-CHECK: references:
-CHECK: - kind: R_MIPS_32
-CHECK: offset: 0
-CHECK: target: L003
-CHECK: - ref-name: L004
-CHECK: type: got
-CHECK: content: [ 00, 00, 00, 00 ]
-CHECK: alignment: 2^2
-CHECK: section-choice: custom-required
-CHECK: section-name: .got
-CHECK: permissions: rw-
-CHECK: references:
-CHECK: - kind: R_MIPS_32
-CHECK: offset: 0
-CHECK: target: hidden
-CHECK: - ref-name: L005
-CHECK: type: got
-CHECK: content: [ 00, 00, 00, 00 ]
-CHECK: alignment: 2^2
-CHECK: section-choice: custom-required
-CHECK: section-name: .got
-CHECK: permissions: rw-
-CHECK: references:
-CHECK: - kind: LLD_R_MIPS_GLOBAL_GOT
-CHECK: offset: 0
-CHECK: target: glob
-CHECK: - kind: R_MIPS_32
-CHECK: offset: 0
-CHECK: target: glob
-CHECK: - ref-name: L006
-CHECK: type: got
-CHECK: content: [ 00, 00, 00, 00 ]
-CHECK: alignment: 2^2
-CHECK: section-choice: custom-required
-CHECK: section-name: .got
-CHECK: permissions: rw-
-CHECK: references:
-CHECK: - kind: LLD_R_MIPS_GLOBAL_GOT
-CHECK: offset: 0
-CHECK: target: extern
-CHECK: - ref-name: L007
-CHECK: alignment: 2^4
-CHECK: references:
-CHECK: - kind: layout-after
-CHECK: offset: 0
-CHECK: target: glob
-CHECK: - name: glob
-CHECK: scope: global
-CHECK: content: [ 00, 00, 84, 8F, 00, 00, 84, 24, 00, 00, 84, 8F,
-CHECK: 00, 00, 84, 8F, 00, 00, 84, 8F, 00, 00, 00, 00,
-CHECK: 00, 00, 00, 00, 00, 00, 00, 00 ]
-CHECK: alignment: 2^4
-CHECK: references:
-CHECK: - kind: R_MIPS_GOT16
-CHECK: offset: 0
-CHECK: target: L002
-CHECK: - kind: R_MIPS_LO16
-CHECK: offset: 4
-CHECK: target: L003
-CHECK: - kind: LLD_R_MIPS_GLOBAL_GOT16
-CHECK: offset: 8
-CHECK: target: L004
-CHECK: - kind: R_MIPS_CALL16
-CHECK: offset: 12
-CHECK: target: L005
-CHECK: - kind: R_MIPS_CALL16
-CHECK: offset: 16
-CHECK: target: L006
-CHECK: - kind: layout-before
-CHECK: offset: 0
-CHECK: target: L007
+# RUN: llvm-mc -triple=mipsel -filetype=obj -o=%t1 %s
+# RUN: lld -flavor gnu -target mipsel -shared --noinhibit-exec \
+# RUN: --output-filetype=yaml %t1 | FileCheck -check-prefix YAML %s
+
+# RUN: lld -flavor gnu -target mipsel -shared --noinhibit-exec -o %t2 %t1
+# RUN: llvm-objdump -t -disassemble %t2 | FileCheck -check-prefix RAW %s
+
+# YAML: - ref-name: L003
+# YAML: type: got
+# YAML: content: [ 00, 00, 00, 00 ]
+# YAML: alignment: 2^2
+# YAML: section-choice: custom-required
+# YAML: section-name: .got
+# YAML: permissions: rw-
+# YAML: references:
+# YAML: - kind: R_MIPS_32
+# YAML: offset: 0
+# YAML: target: L004
+# YAML: - ref-name: L005
+# YAML: type: got
+# YAML: content: [ 00, 00, 00, 00 ]
+# YAML: alignment: 2^2
+# YAML: section-choice: custom-required
+# YAML: section-name: .got
+# YAML: permissions: rw-
+# YAML: references:
+# YAML: - kind: R_MIPS_32
+# YAML: offset: 0
+# YAML: target: hidden
+# YAML: - ref-name: L006
+# YAML: type: got
+# YAML: content: [ 00, 00, 00, 00 ]
+# YAML: alignment: 2^2
+# YAML: section-choice: custom-required
+# YAML: section-name: .got
+# YAML: permissions: rw-
+# YAML: references:
+# YAML: - kind: LLD_R_MIPS_GLOBAL_GOT
+# YAML: offset: 0
+# YAML: target: glob
+# YAML: - kind: R_MIPS_32
+# YAML: offset: 0
+# YAML: target: glob
+# YAML: - ref-name: L007
+# YAML: type: got
+# YAML: content: [ 00, 00, 00, 00 ]
+# YAML: alignment: 2^2
+# YAML: section-choice: custom-required
+# YAML: section-name: .got
+# YAML: permissions: rw-
+# YAML: references:
+# YAML: - kind: LLD_R_MIPS_GLOBAL_GOT
+# YAML: offset: 0
+# YAML: target: extern
+# YAML: - ref-name: L008
+# YAML: alignment: 2^2
+# YAML: references:
+# YAML: - kind: layout-after
+# YAML: offset: 0
+# YAML: target: glob
+
+# YAML: - name: glob
+# YAML: scope: global
+# YAML: content: [ 00, 00, 84, 8F, 00, 00, 84, 24, 00, 00, 84, 8F,
+# YAML: 00, 00, 84, 8F, 00, 00, 84, 8F ]
+# YAML: alignment: 2^2
+# YAML: references:
+# YAML: - kind: R_MIPS_GOT16
+# YAML: offset: 0
+# YAML: target: L003
+# YAML: - kind: R_MIPS_LO16
+# YAML: offset: 4
+# YAML: target: L004
+# YAML: - kind: LLD_R_MIPS_GLOBAL_GOT16
+# YAML: offset: 8
+# YAML: target: L005
+# YAML: - kind: R_MIPS_CALL16
+# YAML: offset: 12
+# YAML: target: L006
+# YAML: - kind: R_MIPS_CALL16
+# YAML: offset: 16
+# YAML: target: L007
+# YAML: - kind: layout-before
+# YAML: offset: 0
+# YAML: target: L008
+
+# RAW: Disassembly of section .text:
+# RAW: glob:
+# RAW: 168: 18 80 84 8f lw $4, -32744($gp)
+# RAW: 16c: 00 20 84 24 addiu $4, $4, 8192
+# RAW: 170: 1c 80 84 8f lw $4, -32740($gp)
+# RAW: 174: 20 80 84 8f lw $4, -32736($gp)
+# RAW: 178: 24 80 84 8f lw $4, -32732($gp)
+
+# RAW: SYMBOL TABLE:
+# RAW: 00000000 *UND* 00000000
+# RAW: 00002000 l .data 00000000 local
+
+ .global glob
+ .ent glob
+glob:
+ lw $4,%got(local)($28) # G(local)
+ addiu $4,$4,%lo(local) # local (0x2000)
+ lw $4,%got(hidden)($28) # G(hidden)
+ lw $4,%call16(glob)($28) # G(glob)
+ lw $4,%call16(extern)($28) # G(extern)
+ .end glob
+ .data
+ .type local,%object
+ .size local,4
+local:
+ .word undef
+
+ .globl hidden
+ .hidden hidden
+ .type hidden,%object
+ .size hidden,4
+hidden:
+ .word 0
More information about the llvm-commits
mailing list