https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221337
--- Comment #3 from Ed Maste <ema...@freebsd.org> --- Looking at libclang_rt.asan-i386.so it does have PT_TLS with 4-byte alignment, and perhaps that should be changed on general principle: % readelf -l /usr/lib/clang/5.0.0/lib/freebsd/libclang_rt.asan-i386.so Elf file type is DYN (Shared object file) Entry point 0xbb80 There are 6 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x00000000 0x00000000 0xc21c4 0xc21c4 R E 0x1000 LOAD 0x0c21c4 0x000c31c4 0x000c31c4 0x02f08 0x49a58c RW 0x1000 DYNAMIC 0x0c2470 0x000c3470 0x000c3470 0x000f8 0x000f8 RW 0x4 TLS 0x0c21c4 0x000c31c4 0x000c31c4 0x00000 0x00018 R 0x4 GNU_EH_FRAME 0x0b5a50 0x000b5a50 0x000b5a50 0x02934 0x02934 R 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4 Section to Segment mapping: Segment Sections... 00 .hash .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame .comment .gnu_debuglink .shstrtab 01 .tbss .ctors .dtors .jcr .data.rel.ro .dynamic .got .got.plt .data .bss 02 .dynamic 03 .tbss .ctors 04 .eh_frame_hdr 05 ref12-i386% but note that asan is not asserting that one of its symbols is not 8-byte aligned but rather (some #ifdefs trimmed, showing only the FreeBSD/i386 path): static void **ThreadSelfSegbase() { void **segbase = 0; // sysarch(I386_GET_GSBASE, segbase); __asm __volatile("mov %%gs:0, %0" : "=r" (segbase)); return segbase; } uptr ThreadSelf() { return (uptr)ThreadSelfSegbase()[2]; } static void GetTls(uptr *addr, uptr *size) { void** segbase = ThreadSelfSegbase(); *addr = 0; *size = 0; if (segbase != 0) { // tcbalign = 16 // tls_size = round(tls_static_space, tcbalign); // dtv = segbase[1]; // dtv[2] = segbase - tls_static_space; void **dtv = (void**) segbase[1]; *addr = (uptr) dtv[2]; *size = (*addr == 0) ? 0 : ((uptr) segbase[0] - (uptr) dtv[2]); } } and later asserts that the addr returned from GetTls is 8-byte aligned -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ freebsd-bugs@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"