#Source :
#__thread int a = 1;
#__thread int b;
#
#int main () {
#  b = 2;
#  throw (a + b) ;
#  return 0;
#}
# compiled as clang++ source.cpp
# and  clang++ -m32 source.cpp

RUN: llvm-readobj -program-headers %p/Inputs/phdrs-elf.exe-i386 --elf-output-style=GNU \
RUN:   | FileCheck %s -check-prefix ELF32
RUN: llvm-readobj -program-headers %p/Inputs/phdrs-elf.exe-x86_64 \
RUN:  --elf-output-style=GNU | FileCheck %s -check-prefix ELF64

ELF32: Elf file type is EXEC (Executable file)
ELF32-NEXT: Entry point 0x8048460
ELF32-NEXT: There are 10 program headers, starting at offset 52

ELF32: Program Headers:
ELF32-NEXT:   Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
ELF32-NEXT:   PHDR           0x000034 0x08048034 0x08048034 0x00140 0x00140 R E 0x4
ELF32-NEXT:   INTERP         0x000174 0x08048174 0x08048174 0x00013 0x00013 R   0x1
ELF32-NEXT:       [Requesting program interpreter: /lib/ld-linux.so.2]
ELF32-NEXT:   LOAD           0x000000 0x08048000 0x08048000 0x006d0 0x006d0 R E 0x1000
ELF32-NEXT:   LOAD           0x000ef0 0x08049ef0 0x08049ef0 0x00128 0x00140 RW  0x1000
ELF32-NEXT:   DYNAMIC        0x000f08 0x08049f08 0x08049f08 0x000e8 0x000e8 RW  0x4
ELF32-NEXT:   NOTE           0x000188 0x08048188 0x08048188 0x00044 0x00044 R   0x4
ELF32-NEXT:   TLS            0x000ef0 0x08049ef0 0x08049ef0 0x00004 0x00008 R   0x4
ELF32-NEXT:   GNU_EH_FRAME   0x000640 0x08048640 0x08048640 0x0001c 0x0001c R   0x4
ELF32-NEXT:   GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x4
ELF32-NEXT:   GNU_RELRO      0x000ef0 0x08049ef0 0x08049ef0 0x00110 0x00110 R   0x1

ELF32:  Section to Segment mapping:
ELF32-NEXT:   Segment Sections...
ELF32-NEXT:    00
ELF32-NEXT:    01     .interp
ELF32-NEXT:    02     .interp .note.ABI-tag .note.gnu.build-id .hash .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame
ELF32-NEXT:    03     .tdata .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
ELF32-NEXT:    04     .dynamic
ELF32-NEXT:    05     .note.ABI-tag .note.gnu.build-id
ELF32-NEXT:    06     .tdata .tbss
ELF32-NEXT:    07     .eh_frame_hdr
ELF32-NEXT:    08
ELF32-NEXT:    09     .tdata .ctors .dtors .jcr .dynamic .got

ELF64: Elf file type is EXEC (Executable file)
ELF64-NEXT: Entry point 0x400610
ELF64-NEXT: There are 10 program headers, starting at offset 64

ELF64: Program Headers:
ELF64-NEXT:   Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
ELF64-NEXT:   PHDR           0x000040 0x0000000000400040 0x0000000000400040 0x000230 0x000230 R E 0x8
ELF64-NEXT:   INTERP         0x000270 0x0000000000400270 0x0000000000400270 0x00001c 0x00001c R   0x1
ELF64-NEXT:       [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
ELF64-NEXT:   LOAD           0x000000 0x0000000000400000 0x0000000000400000 0x000924 0x000924 R E 0x200000
ELF64-NEXT:   LOAD           0x000db4 0x0000000000600db4 0x0000000000600db4 0x000274 0x0002a4 RW  0x200000
ELF64-NEXT:   DYNAMIC        0x000dd0 0x0000000000600dd0 0x0000000000600dd0 0x000210 0x000210 RW  0x8
ELF64-NEXT:   NOTE           0x00028c 0x000000000040028c 0x000000000040028c 0x000044 0x000044 R   0x4
ELF64-NEXT:   TLS            0x000db4 0x0000000000600db4 0x0000000000600db4 0x000004 0x000008 R   0x4
ELF64-NEXT:   GNU_EH_FRAME   0x00083c 0x000000000040083c 0x000000000040083c 0x00002c 0x00002c R   0x4
ELF64-NEXT:   GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW  0x8
ELF64-NEXT:   GNU_RELRO      0x000db4 0x0000000000600db4 0x0000000000600db4 0x00024c 0x00024c R   0x1

ELF64:  Section to Segment mapping:
ELF64-NEXT:   Segment Sections...
ELF64-NEXT:    00
ELF64-NEXT:    01     .interp
ELF64-NEXT:    02     .interp .note.ABI-tag .note.gnu.build-id .hash .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame
ELF64-NEXT:    03     .tdata .init_array .fini_array .jcr .dynamic .got .got.plt .data .bss
ELF64-NEXT:    04     .dynamic
ELF64-NEXT:    05     .note.ABI-tag .note.gnu.build-id
ELF64-NEXT:    06     .tdata .tbss
ELF64-NEXT:    07     .eh_frame_hdr
ELF64-NEXT:    08
ELF64-NEXT:    09     .tdata .init_array .fini_array .jcr .dynamic .got
