aboutsummaryrefslogtreecommitdiffstats
path: root/test/MC/MachO
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2011-11-01 23:39:05 +0000
committerKevin Enderby <enderby@apple.com>2011-11-01 23:39:05 +0000
commit064e48a3dce1fd29a35b4b1b01a8c4b67e29c74a (patch)
tree6b2b60ee0a6c105c0d136290c52ee1770cf9b540 /test/MC/MachO
parent6284afc293c8f6e84dffab8731aa9e679d437745 (diff)
downloadexternal_llvm-064e48a3dce1fd29a35b4b1b01a8c4b67e29c74a.zip
external_llvm-064e48a3dce1fd29a35b4b1b01a8c4b67e29c74a.tar.gz
external_llvm-064e48a3dce1fd29a35b4b1b01a8c4b67e29c74a.tar.bz2
Fixed a bug in the code to create a dwarf file and directory table entires when
it is separating the directory part from the basename of the FileName. Noticed that this: .file 1 "dir/foo" when assembled got the two parts switched. Using the Mac OS X dwarfdump tool it can be seen easily: % dwarfdump -a a.out include_directories[ 1] = 'foo' Dir Mod Time File Len File Name ---- ---------- ---------- --------------------------- file_names[ 1] 1 0x00000000 0x00000000 dir ... Which should be: ... include_directories[ 1] = 'dir' Dir Mod Time File Len File Name ---- ---------- ---------- --------------------------- file_names[ 1] 1 0x00000000 0x00000000 foo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143521 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/MachO')
-rw-r--r--test/MC/MachO/file.s22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/MC/MachO/file.s b/test/MC/MachO/file.s
new file mode 100644
index 0000000..0168747
--- /dev/null
+++ b/test/MC/MachO/file.s
@@ -0,0 +1,22 @@
+// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s
+
+ .file 1 "dir/foo"
+ nop
+
+// CHECK: ('_section_data', '90')
+// CHECK-NEXT: # Section 1
+// CHECK-NEXT: (('section_name', '__debug_line\x00\x00\x00\x00')
+// CHECK-NEXT: ('segment_name', '__DWARF\x00\x00\x00\x00\x00\x00\x00\x00\x00')
+// CHECK-NEXT: ('address', 1)
+// CHECK-NEXT: ('size', 45)
+// CHECK-NEXT: ('offset', 221)
+// CHECK-NEXT: ('alignment', 0)
+// CHECK-NEXT: ('reloc_offset', 0)
+// CHECK-NEXT: ('num_reloc', 0)
+// CHECK-NEXT: ('flags', 0x2000000)
+// CHECK-NEXT: ('reserved1', 0)
+// CHECK-NEXT: ('reserved2', 0)
+// CHECK-NEXT: ),
+// CHECK-NEXT: ('_relocations', [
+// CHECK-NEXT: ])
+// CHECK-NEXT: ('_section_data', '29000000 02001e00 00000101 fb0e0d00 01010101 00000001 00000164 69720000 666f6f00 01000000 02000001 01')