diff options
author | William Harrington <kb0iic@berzerkula.org> | 2021-04-06 14:09:59 -0500 |
---|---|---|
committer | William Harrington <kb0iic@berzerkula.org> | 2021-04-06 14:09:59 -0500 |
commit | af28b78b8e659f995b39a5dde2ce2cef0da9fbe0 (patch) | |
tree | a80d4cfef7713f7aa26137c0da553358af4cd7b2 /chapter8/gcc.sh | |
parent | 783a4c48e04e81783848f0cb0f757f6a836d7f6e (diff) |
Add chapter8 script commands.
Diffstat (limited to 'chapter8/gcc.sh')
-rw-r--r-- | chapter8/gcc.sh | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/chapter8/gcc.sh b/chapter8/gcc.sh index 7a693aa..7b4df3b 100644 --- a/chapter8/gcc.sh +++ b/chapter8/gcc.sh @@ -1,3 +1,46 @@ #!/bin/bash +case $(uname -m) in + x86_64) + sed -e '/m64=/s/lib64/lib/' \ + -i.orig gcc/config/i386/t-linux64 + ;; +esac +mkdir -v build +cd build || exit 1 + +../configure --prefix=/usr \ + LD=ld \ + --enable-languages=c,c++ \ + --disable-multilib \ + --disable-bootstrap \ + --with-system-zlib + +make + +make -j1 install +rm -rf /usr/lib/gcc/"$(gcc -dumpmachine)"/"${VERSION}"/include-fixed/bits/ + +chown -v -R root:root \ + /usr/lib/gcc/*linux-gnu/"${VERSION}"/include{,-fixed} + +ln -sv ../usr/bin/cpp /lib + +ln -sfv ../../libexec/gcc/"$(gcc -dumpmachine)"/"${VERSION}"/liblto_plugin.so \ + /usr/lib/bfd-plugins/ + +echo 'int main(){}' > dummy.c +cc dummy.c -v -Wl,--verbose &> dummy.log +readelf -l a.out | grep ': /lib' + +grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log +grep -B4 '^ /usr/include' dummy.log +grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g' +grep "/lib.*/libc.so.6 " dummy.log +grep found dummy.log + +rm -v dummy.c a.out dummy.log + +mkdir -pv /usr/share/gdb/auto-load/usr/lib +mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib |