summary refs log tree commit diff stats
path: root/results/scraper/launchpad-without-comments/1814128
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/launchpad-without-comments/1814128')
-rw-r--r--results/scraper/launchpad-without-comments/1814128155
1 files changed, 155 insertions, 0 deletions
diff --git a/results/scraper/launchpad-without-comments/1814128 b/results/scraper/launchpad-without-comments/1814128
new file mode 100644
index 000000000..188f5b49a
--- /dev/null
+++ b/results/scraper/launchpad-without-comments/1814128
@@ -0,0 +1,155 @@
+qemu-user fails to set up a reasonable brk for static-pie
+
+static pie binaries may not get a reasonable brk,
+with glibc this means they crash in early tls setup code:
+https://sourceware.org/bugzilla/show_bug.cgi?id=24152
+
+qemu seems to put brk at the end of the data segment,
+but if the stack starts (ends) right next to it then
+allocation with brk fails.
+
+in such situation i think qemu should arrange the
+stack or brk to be elsewhere so there is plenty
+space to grow (in case of glibc it's enough if tls
+setup works: later allocations can fall back to mmap).
+
+(ubuntu bionic x86_64 ldconfig.real from libc-bin package)
+$ qemu-x86_64 -strace -d page /sbin/ldconfig.real
+host mmap_min_addr=0x8000
+guest_base  0x0
+start            end              size             prot
+0000004000000000-00000040000f2000 00000000000f2000 r-x
+00000040000f2000-00000040002f2000 0000000000200000 ---
+00000040002f2000-00000040002fa000 0000000000008000 rw-
+00000040002fa000-00000040002fb000 0000000000001000 ---
+00000040002fb000-0000004000afb000 0000000000800000 rw-
+start_brk   0x0000000000000000
+end_code    0x00000040000f1ee8
+start_code  0x0000004000000000
+start_data  0x00000040002f2838
+end_data    0x00000040002f8518
+start_stack 0x0000004000afa130
+brk         0x00000040002f9dd8
+entry       0x0000004000009bc0
+argv_start  0x0000004000afa138
+env_start   0x0000004000afa148
+auxv_start  0x0000004000afa280
+28561 brk(NULL) = 0x00000040002fa000
+28561 brk(0x00000040002fb1c0) = 0x00000040002fa000
+--- SIGSEGV {si_signo=SIGSEGV, si_code=1, si_addr=0xffffffffffffffc0} ---
+qemu: uncaught target signal 11 (Segmentation fault) - core dumped
+
+$ readelf -hldSW /tmp/ldconfig.real
+ELF Header:
+  Magic:   7f 45 4c 46 02 01 01 03 00 00 00 00 00 00 00 00 
+  Class:                             ELF64
+  Data:                              2's complement, little endian
+  Version:                           1 (current)
+  OS/ABI:                            UNIX - GNU
+  ABI Version:                       0
+  Type:                              DYN (Shared object file)
+  Machine:                           Advanced Micro Devices X86-64
+  Version:                           0x1
+  Entry point address:               0x9bc0
+  Start of program headers:          64 (bytes into file)
+  Start of section headers:          1022920 (bytes into file)
+  Flags:                             0x0
+  Size of this header:               64 (bytes)
+  Size of program headers:           56 (bytes)
+  Number of program headers:         8
+  Size of section headers:           64 (bytes)
+  Number of section headers:         38
+  Section header string table index: 37
+
+Section Headers:
+  [Nr] Name              Type            Address          Off    Size   ES Flg Lk Inf Al
+  [ 0]                   NULL            0000000000000000 000000 000000 00      0   0  0
+  [ 1] .note.ABI-tag     NOTE            0000000000000200 000200 000020 00   A  0   0  4
+  [ 2] .note.gnu.build-id NOTE            0000000000000220 000220 000024 00   A  0   0  4
+  [ 3] .gnu.hash         GNU_HASH        0000000000000248 000248 00001c 00   A  4   0  8
+  [ 4] .dynsym           DYNSYM          0000000000000268 000268 000018 18   A  5   1  8
+  [ 5] .dynstr           STRTAB          0000000000000280 000280 000001 00   A  0   0  1
+  [ 6] .rela.dyn         RELA            0000000000000288 000288 008748 18   A  4   0  8
+  [ 7] .rela.plt         RELA            00000000000089d0 0089d0 000318 18  AI  4  27  8
+  [ 8] .init             PROGBITS        0000000000008ce8 008ce8 000017 00  AX  0   0  4
+  [ 9] .plt              PROGBITS        0000000000008d00 008d00 000270 10  AX  0   0 16
+  [10] .plt.got          PROGBITS        0000000000008f70 008f70 000060 08  AX  0   0  8
+  [11] .text             PROGBITS        0000000000008fd0 008fd0 0bd29c 00  AX  0   0 16
+  [12] __libc_freeres_fn PROGBITS        00000000000c6270 0c6270 0016b3 00  AX  0   0 16
+  [13] __libc_thread_freeres_fn PROGBITS        00000000000c7930 0c7930 00108f 00  AX  0   0 16
+  [14] .fini             PROGBITS        00000000000c89c0 0c89c0 000009 00  AX  0   0  4
+  [15] .rodata           PROGBITS        00000000000c89e0 0c89e0 01af08 00   A  0   0 32
+  [16] .stapsdt.base     PROGBITS        00000000000e38e8 0e38e8 000001 00   A  0   0  1
+  [17] .eh_frame_hdr     PROGBITS        00000000000e38ec 0e38ec 001f94 00   A  0   0  4
+  [18] .eh_frame         PROGBITS        00000000000e5880 0e5880 00c5b8 00   A  0   0  8
+  [19] .gcc_except_table PROGBITS        00000000000f1e38 0f1e38 0000b0 00   A  0   0  1
+  [20] .tdata            PROGBITS        00000000002f2838 0f2838 000028 00 WAT  0   0  8
+  [21] .tbss             NOBITS          00000000002f2860 0f2860 000040 00 WAT  0   0  8
+  [22] .init_array       INIT_ARRAY      00000000002f2860 0f2860 000010 08  WA  0   0  8
+  [23] .fini_array       FINI_ARRAY      00000000002f2870 0f2870 000010 08  WA  0   0  8
+  [24] .data.rel.ro      PROGBITS        00000000002f2880 0f2880 0034c4 00  WA  0   0 32
+  [25] .dynamic          DYNAMIC         00000000002f5d48 0f5d48 0001a0 10  WA  5   0  8
+  [26] .got              PROGBITS        00000000002f5ee8 0f5ee8 000110 08  WA  0   0  8
+  [27] .got.plt          PROGBITS        00000000002f6000 0f6000 000148 08  WA  0   0  8
+  [28] .data             PROGBITS        00000000002f6160 0f6160 001bd4 00  WA  0   0 32
+  [29] __libc_subfreeres PROGBITS        00000000002f7d38 0f7d38 000060 00  WA  0   0  8
+  [30] __libc_IO_vtables PROGBITS        00000000002f7da0 0f7da0 000768 00  WA  0   0 32
+  [31] __libc_atexit     PROGBITS        00000000002f8508 0f8508 000008 00  WA  0   0  8
+  [32] __libc_thread_subfreeres PROGBITS        00000000002f8510 0f8510 000008 00  WA  0   0  8
+  [33] .bss              NOBITS          00000000002f8520 0f8518 001890 00  WA  0   0 32
+  [34] __libc_freeres_ptrs NOBITS          00000000002f9db0 0f8518 000028 00  WA  0   0  8
+  [35] .note.stapsdt     NOTE            0000000000000000 0f8518 0014cc 00      0   0  4
+  [36] .gnu_debuglink    PROGBITS        0000000000000000 0f99e4 000034 00      0   0  4
+  [37] .shstrtab         STRTAB          0000000000000000 0f9a18 0001ab 00      0   0  1
+Key to Flags:
+  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
+  L (link order), O (extra OS processing required), G (group), T (TLS),
+  C (compressed), x (unknown), o (OS specific), E (exclude),
+  l (large), p (processor specific)
+
+Program Headers:
+  Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
+  LOAD           0x000000 0x0000000000000000 0x0000000000000000 0x0f1ee8 0x0f1ee8 R E 0x200000
+  LOAD           0x0f2838 0x00000000002f2838 0x00000000002f2838 0x005ce0 0x0075a0 RW  0x200000
+  DYNAMIC        0x0f5d48 0x00000000002f5d48 0x00000000002f5d48 0x0001a0 0x0001a0 RW  0x8
+  NOTE           0x000200 0x0000000000000200 0x0000000000000200 0x000044 0x000044 R   0x4
+  TLS            0x0f2838 0x00000000002f2838 0x00000000002f2838 0x000028 0x000068 R   0x8
+  GNU_EH_FRAME   0x0e38ec 0x00000000000e38ec 0x00000000000e38ec 0x001f94 0x001f94 R   0x4
+  GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW  0x10
+  GNU_RELRO      0x0f2838 0x00000000002f2838 0x00000000002f2838 0x0037c8 0x0037c8 R   0x1
+
+ Section to Segment mapping:
+  Segment Sections...
+   00     .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .rela.dyn .rela.plt .init .plt .plt.got .text __libc_freeres_fn __libc_thread_freeres_fn .fini .rodata .stapsdt.base .eh_frame_hdr .eh_frame .gcc_except_table 
+   01     .tdata .init_array .fini_array .data.rel.ro .dynamic .got .got.plt .data __libc_subfreeres __libc_IO_vtables __libc_atexit __libc_thread_subfreeres .bss __libc_freeres_ptrs 
+   02     .dynamic 
+   03     .note.ABI-tag .note.gnu.build-id 
+   04     .tdata .tbss 
+   05     .eh_frame_hdr 
+   06     
+   07     .tdata .init_array .fini_array .data.rel.ro .dynamic .got 
+
+Dynamic section at offset 0xf5d48 contains 22 entries:
+  Tag        Type                         Name/Value
+ 0x000000000000000c (INIT)               0x8ce8
+ 0x000000000000000d (FINI)               0xc89c0
+ 0x0000000000000019 (INIT_ARRAY)         0x2f2860
+ 0x000000000000001b (INIT_ARRAYSZ)       16 (bytes)
+ 0x000000000000001a (FINI_ARRAY)         0x2f2870
+ 0x000000000000001c (FINI_ARRAYSZ)       16 (bytes)
+ 0x000000006ffffef5 (GNU_HASH)           0x248
+ 0x0000000000000005 (STRTAB)             0x280
+ 0x0000000000000006 (SYMTAB)             0x268
+ 0x000000000000000a (STRSZ)              1 (bytes)
+ 0x000000000000000b (SYMENT)             24 (bytes)
+ 0x0000000000000015 (DEBUG)              0x0
+ 0x0000000000000003 (PLTGOT)             0x2f6000
+ 0x0000000000000002 (PLTRELSZ)           792 (bytes)
+ 0x0000000000000014 (PLTREL)             RELA
+ 0x0000000000000017 (JMPREL)             0x89d0
+ 0x0000000000000007 (RELA)               0x288
+ 0x0000000000000008 (RELASZ)             34632 (bytes)
+ 0x0000000000000009 (RELAENT)            24 (bytes)
+ 0x000000006ffffffb (FLAGS_1)            Flags: PIE
+ 0x000000006ffffff9 (RELACOUNT)          1443
+ 0x0000000000000000 (NULL)               0x0
\ No newline at end of file