summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-07-06 14:26:07 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-07-06 14:26:07 +0000
commit76d650e8d77f19b9ee0ae708fff38109ff79e360 (patch)
tree1321f8e2cea2f151c47ec2e7059a0f7b21a4cca0 /llvm/test
parent5c235c09665d7b30529a8e88f66b353026cbf8ff (diff)
downloadbcm5719-llvm-76d650e8d77f19b9ee0ae708fff38109ff79e360.tar.gz
bcm5719-llvm-76d650e8d77f19b9ee0ae708fff38109ff79e360.zip
Check that COFF .obj files have sections with zero virtual address spaces.
When talking about the virtual address of sections the coff spec says: ... for simplicity, compilers should set this to zero. Otherwise, it is an arbitrary value that is subtracted from offsets during relocation. We don't currently subtract it, so check that it is zero. If some producer does create such files, we can change getRelocationOffset instead. llvm-svn: 241447
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Object/Inputs/invalid-bad-section-address.coffbin0 -> 304 bytes
-rw-r--r--llvm/test/Object/coff-invalid.test13
2 files changed, 13 insertions, 0 deletions
diff --git a/llvm/test/Object/Inputs/invalid-bad-section-address.coff b/llvm/test/Object/Inputs/invalid-bad-section-address.coff
new file mode 100644
index 00000000000..8d96e013751
--- /dev/null
+++ b/llvm/test/Object/Inputs/invalid-bad-section-address.coff
Binary files differ
diff --git a/llvm/test/Object/coff-invalid.test b/llvm/test/Object/coff-invalid.test
new file mode 100644
index 00000000000..b85543dcfe8
--- /dev/null
+++ b/llvm/test/Object/coff-invalid.test
@@ -0,0 +1,13 @@
+RUN: llvm-readobj -s %p/Inputs/invalid-bad-section-address.coff 2>&1 | \
+RUN: FileCheck --check-prefix=SECTIONS %s
+
+SECTIONS: Section {
+SECTIONS-NEXT: Number: 1
+SECTIONS-NEXT: Name: .text (2E 74 65 78 74 00 00 00)
+SECTIONS-NEXT: VirtualSize: 0x0
+SECTIONS-NEXT: VirtualAddress: 0x1000000
+
+RUN: not llvm-readobj -r %p/Inputs/invalid-bad-section-address.coff 2>&1 | \
+RUN: FileCheck %s
+
+CHECK: Sections with relocations should have an address of 0
OpenPOWER on IntegriCloud