This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/21779] New: MicroBlaze segfaults when loading libpthread
- From: "nathan at nathanrossi dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Mon, 17 Jul 2017 12:45:21 +0000
- Subject: [Bug libc/21779] New: MicroBlaze segfaults when loading libpthread
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=21779
Bug ID: 21779
Summary: MicroBlaze segfaults when loading libpthread
Product: glibc
Version: 2.26
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: libc
Assignee: unassigned at sourceware dot org
Reporter: nathan at nathanrossi dot com
CC: drepper.fsp at gmail dot com
Target Milestone: ---
Output of test program that is linked with libpthread.
---
# LD_DEBUG=all test-pthread
276:
276: file=libpthread.so.0 [0]; needed by test-pthread [0]
276: find library=libpthread.so.0 [0]; searching
276: search cache=/etc/ld.so.cache
276: trying file=/lib/libpthread.so.0
276:
276: file=libpthread.so.0 [0]; generating link map
276: dynamic: 0x48046b50 base: 0x48029000 size: 0x00020200
276: entry: 0x4802ea98 phdr: 0x48029034 phnum: 8
276:
276:
276: file=libc.so.6 [0]; needed by test-pthread [0]
276: find library=libc.so.6 [0]; searching
276: search cache=/etc/ld.so.cache
276: trying file=/lib/libc.so.6
276:
276: file=libc.so.6 [0]; generating link map
276: dynamic: 0x481c26f4 base: 0x4804a000 size: 0x0017f348
276: entry: 0x4806dc6c phdr: 0x4804a034 phnum: 9
276:
276: checking for version `GLIBC_2.18' in file /lib/libpthread.so.0
[0] required by file test-pthread [0]
276: checking for version `GLIBC_2.18' in file /lib/libc.so.6 [0]
required by file test-pthread [0]
276: checking for version `GLIBC_PRIVATE' in file /lib/ld.so.1 [0]
required by file /lib/libpthread.so.0 [0]
276: checking for version `GLIBC_2.18' in file /lib/ld.so.1 [0]
required by file /lib/libpthread.so.0 [0]
276: checking for version `GLIBC_2.18' in file /lib/libc.so.6 [0]
required by file /lib/libpthread.so.0 [0]
276: checking for version `GLIBC_PRIVATE' in file /lib/libc.so.6 [0]
required by file /lib/libpthread.so.0 [0]
276: checking for version `GLIBC_2.18' in file /lib/ld.so.1 [0]
required by file /lib/libc.so.6 [0]
276: checking for version `GLIBC_PRIVATE' in file /lib/ld.so.1 [0]
required by file /lib/libc.so.6 [0]
276:
276: Initial object scopes
276: object=test-pthread [0]
276: scope 0: test-pthread /lib/libpthread.so.0 /lib/libc.so.6
/lib/ld.so.1
276:
276: object=/lib/libpthread.so.0 [0]
276: scope 0: test-pthread /lib/libpthread.so.0 /lib/libc.so.6
/lib/ld.so.1
276:
276: object=/lib/libc.so.6 [0]
276: scope 0: test-pthread /lib/libpthread.so.0 /lib/libc.so.6
/lib/ld.so.1
276:
276: object=/lib/ld.so.1 [0]
276: no scope
276:
276:
276: relocation processing: /lib/libc.so.6
...
276: symbol=__tls_get_addr; lookup in file=/lib/libpthread.so.0 [0]
276: symbol=__tls_get_addr; lookup in file=/lib/libc.so.6 [0]
276: symbol=__tls_get_addr; lookup in file=/lib/ld.so.1 [0]
276: binding file /lib/libc.so.6 [0] to /lib/ld.so.1 [0]: normal
symbol `__tls_get_addr' [GLIBC_2.18]
276:
276: relocation processing: /lib/libpthread.so.0
Segmentation fault
---
This is due to the relocation generated for vfork_compat's branch to
__libc_vfork. This relocation cannot be resolved and the branch instruction
cannot be rewritten due to being in a non-writable section.
readelf output of libpthread.so:
---
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf
Al
...
[12] .text PROGBITS 000051fc 0051fc 013e1c 00 AX 0 0
4
...
Relocation section '.rela.dyn' at offset 0x3830 contains 362 entries:
Offset Info Type Sym.Value Sym. Name + Addend
00014b68 00004c03 R_MICROBLAZE_64_P 00000000 __libc_vfork@GLIBC_PRIVATE + 0
...
---
--
You are receiving this mail because:
You are on the CC list for the bug.