Date: Thu, 26 Apr 2018 16:39:51 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 227552] w, uptime i386 cordeump Message-ID: <bug-227552-227-yQJdXcbcHt@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-227552-227@https.bugs.freebsd.org/bugzilla/> References: <bug-227552-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D227552 Dimitry Andric <dim@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dim@FreeBSD.org, | |emaste@freebsd.org --- Comment #10 from Dimitry Andric <dim@FreeBSD.org> --- (In reply to Oleksandr Tymoshenko from comment #9) > xo_default_handle is passed as an argument to xo_init_handle so I added a > breakpoint and checked its content. Since it's static it's supposed to be > zero-initialized but instead there are a lot of garbage values. > xo_default_handle is thread-local variable so it might be a contributing > factor. ... > (gdb) p *xop > $1 =3D {xo_flags =3D 0, xo_iflags =3D 2883994737386192896, xo_style =3D 4= 5072, > xo_indent =3D 10246, xo_indent_by =3D 41472, xo_write =3D 0x1, > xo_close =3D 0x280601ef <__pthread_cleanup_push_imp_int+31>, xo_flush = =3D It definitely seems to have something to do with TLS. The libxo.so.0 file shipped in the FreeBSD-11.2-PRERELEASE-i386-20180420-r332802 snapshot has: Program Header: LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12 filesz 0x00017160 memsz 0x00017160 flags r-x LOAD off 0x00017160 vaddr 0x00018160 paddr 0x00018160 align 2**12 filesz 0x00000604 memsz 0x00000654 flags rw- DYNAMIC off 0x00017264 vaddr 0x00018264 paddr 0x00018264 align 2**2 filesz 0x000000d8 memsz 0x000000d8 flags rw- TLS off 0x00017160 vaddr 0x00018764 paddr 0x00018764 align 2**3 filesz 0x00000000 memsz 0x00000050 flags r-- STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2 filesz 0x00000000 memsz 0x00000000 flags rw- but if I install this snapshot onto a machine, check out stable/11 r332802 = and rebuild lib/libxo, the resulting libxo.so.0 has: Program Header: LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12 filesz 0x00017160 memsz 0x00017160 flags r-x LOAD off 0x00017160 vaddr 0x00018160 paddr 0x00018160 align 2**12 filesz 0x00000604 memsz 0x00000654 flags rw- DYNAMIC off 0x00017264 vaddr 0x00018264 paddr 0x00018264 align 2**2 filesz 0x000000d8 memsz 0x000000d8 flags rw- TLS off 0x00017160 vaddr 0x00018160 paddr 0x00018160 align 2**3 filesz 0x00000000 memsz 0x00000658 flags r-- STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2 filesz 0x00000000 memsz 0x00000000 flags rw- E.g. the shipped version has a TLS section of just 0x50 bytes, while the recompiled version has 0x658 bytes. The recompiled version also works just fine, with every test I throw at it. I don't know how the shipped versions are built, but I suspect there is something off there. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-227552-227-yQJdXcbcHt>