]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/elf/X86_64/nmagic.test
Vendor import of lld trunk r233088:
[FreeBSD/FreeBSD.git] / test / elf / X86_64 / nmagic.test
1 # This tests verifies functionality of NMAGIC that we create only two segments,
2 # PT_LOAD, PT_TLS
3 # The data segment should be aligned to a page boundary
4 RUN: lld -flavor gnu -target x86_64-linux %p/Inputs/nmagic.o  \
5 RUN: --noinhibit-exec -o %t --nmagic -static
6 RUN: llvm-readobj -sections %t | FileCheck -check-prefix=NMAGICSECTIONS %s
7 RUN: llvm-readobj -program-headers %t | FileCheck -check-prefix=NMAGICPROGRAMHEADERS %s
8
9 NMAGICSECTIONS:   Section {
10 NMAGICSECTIONS:     Index: 0
11 NMAGICSECTIONS:     Name:  (0)
12 NMAGICSECTIONS:     Type: SHT_NULL (0x0)
13 NMAGICSECTIONS:   }
14 NMAGICSECTIONS:   Section {
15 NMAGICSECTIONS:     Name: .text
16 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
17 NMAGICSECTIONS:   }
18 NMAGICSECTIONS:   Section {
19 NMAGICSECTIONS:     Name: .eh_frame
20 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
21 NMAGICSECTIONS:   }
22 NMAGICSECTIONS:   Section {
23 NMAGICSECTIONS:     Name: .tdata
24 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
25 NMAGICSECTIONS:   }
26 NMAGICSECTIONS:   Section {
27 NMAGICSECTIONS:     Name: .tbss
28 NMAGICSECTIONS:     Type: SHT_NOBITS (0x8)
29 NMAGICSECTIONS:   }
30 NMAGICSECTIONS:   Section {
31 NMAGICSECTIONS:     Name: .got.plt
32 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
33 NMAGICSECTIONS:   }
34 NMAGICSECTIONS:   Section {
35 NMAGICSECTIONS:     Name: .data
36 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
37 NMAGICSECTIONS:   }
38 NMAGICSECTIONS:   Section {
39 NMAGICSECTIONS:     Name: .bss
40 NMAGICSECTIONS:     Type: SHT_NOBITS (0x8)
41 NMAGICSECTIONS:   }
42 NMAGICSECTIONS:   Section {
43 NMAGICSECTIONS:     Name: .comment
44 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
45 NMAGICSECTIONS:   }
46 NMAGICSECTIONS:   Section {
47 NMAGICSECTIONS:     Name: .note.GNU-stack
48 NMAGICSECTIONS:     Type: SHT_PROGBITS (0x1)
49 NMAGICSECTIONS:   }
50 NMAGICSECTIONS:   Section {
51 NMAGICSECTIONS:     Name: .shstrtab
52 NMAGICSECTIONS:     Type: SHT_STRTAB (0x3)
53 NMAGICSECTIONS:   }
54 NMAGICSECTIONS:   Section {
55 NMAGICSECTIONS:     Name: .symtab
56 NMAGICSECTIONS:     Type: SHT_SYMTAB (0x2)
57 NMAGICSECTIONS:   }
58 NMAGICSECTIONS:   Section {
59 NMAGICSECTIONS:     Name: .strtab
60 NMAGICSECTIONS:     Type: SHT_STRTAB (0x3)
61 NMAGICSECTIONS:   }
62
63 NMAGICPROGRAMHEADERS: ProgramHeaders [
64 NMAGICPROGRAMHEADERS:   ProgramHeader {
65 NMAGICPROGRAMHEADERS:     Type: PT_LOAD (0x1)
66 NMAGICPROGRAMHEADERS:     Offset: 0x0
67 NMAGICPROGRAMHEADERS:     VirtualAddress: 0x400000
68 NMAGICPROGRAMHEADERS:     PhysicalAddress: 0x400000
69 NMAGICPROGRAMHEADERS:     FileSize: 4108
70 NMAGICPROGRAMHEADERS:     MemSize: 4108
71 NMAGICPROGRAMHEADERS:     Flags [ (0x7)
72 NMAGICPROGRAMHEADERS:       PF_R (0x4)
73 NMAGICPROGRAMHEADERS:       PF_W (0x2)
74 NMAGICPROGRAMHEADERS:       PF_X (0x1)
75 NMAGICPROGRAMHEADERS:     ]
76 NMAGICPROGRAMHEADERS:     Alignment: 8
77 NMAGICPROGRAMHEADERS:   }
78 NMAGICPROGRAMHEADERS:   ProgramHeader {
79 NMAGICPROGRAMHEADERS:     Type: PT_TLS (0x7)
80 NMAGICPROGRAMHEADERS:     Offset: 0x1000
81 NMAGICPROGRAMHEADERS:     VirtualAddress: 0x401000
82 NMAGICPROGRAMHEADERS:     PhysicalAddress: 0x401000
83 NMAGICPROGRAMHEADERS:     FileSize: 4
84 NMAGICPROGRAMHEADERS:     MemSize: 12
85 NMAGICPROGRAMHEADERS:     Flags [ (0x6)
86 NMAGICPROGRAMHEADERS:       PF_R (0x4)
87 NMAGICPROGRAMHEADERS:       PF_W (0x2)
88 NMAGICPROGRAMHEADERS:     ]
89 NMAGICPROGRAMHEADERS:     Alignment: 4
90 NMAGICPROGRAMHEADERS:   }
91 NMAGICPROGRAMHEADERS: ]