bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/23428] ld does not put program headers in a code-only load segme


From: evangelos at foutrelis dot com
Subject: [Bug ld/23428] ld does not put program headers in a code-only load segment
Date: Sat, 11 Aug 2018 00:25:04 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=23428

--- Comment #13 from Evangelos Foutras <evangelos at foutrelis dot com> ---
Created attachment 11177
  --> https://sourceware.org/bugzilla/attachment.cgi?id=11177&action=edit
libgcc-8-dev rebuilt with --enable-cet=auto (for Debian testing)

(In reply to H.J. Lu from comment #12)
> Please provide a small and host-independent testcase.

I have not been able to further reduce my findings from comment #11. I was
hoping someone else might be able to figure out what's going on.

------------------

@Szabolcs: If you rebuild gcc-8 on Debian testing with "--enable-cet=auto"
added to CONFARGS in debian/rules2, then you should be able to reproduce the
musl-gcc crash (after removing the --build-id workaround from musl-gcc.specs!).

(It appears that "--enable-cet=auto" is the important difference between Arch's
and Debian's GCC packages.)

Since gcc-8 takes several hours to build, I have attached libgcc-8-dev which
contains the relevant crt{begin,end}.o files. With this I'm able to reproduce
the crash in a new Debian testing VM as follows:

  # apt install ./libgcc-8-dev_8.2.0-3_amd64.deb
  # sed -i 's/--build-id //' /usr/lib/x86_64-linux-musl/musl-gcc.specs
  $ musl-gcc -static -xc - <<<"int main() { return 0; }"
  $ gdb -q --batch -ex run -ex bt ./a.out

  Program received signal SIGSEGV, Segmentation fault.
  0x000000000040158d in static_init_tls ()
  #0  0x000000000040158d in static_init_tls ()
  #1  0x0000000000000000 in ?? ()

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]