RUN: /usr/share/launchpad-buildd/slavebin/slave-prep ['slave-prep'] Forking launchpad-buildd slave process... Kernel version: Linux fisher04 3.13.0-8-generic #28-Ubuntu SMP Tue Feb 11 17:58:07 UTC 2014 ppc64le Buildd toolchain package versions: launchpad-buildd_121~0.IS.08.04.0 python-lpbuildd_121~0.IS.08.04.0 dpkg-dev_1.17.5ubuntu4. Syncing the system clock with the buildd NTP service... 17 Feb 08:44:40 ntpdate[16067]: adjust time server 10.211.37.1 offset -0.000095 sec RUN: /usr/share/launchpad-buildd/slavebin/unpack-chroot ['unpack-chroot', 'PACKAGEBUILD-5599365', '/home/buildd/filecache-default/1418c9e5f0eb143d9f77e4665c5b7c89c42011cc'] Unpacking chroot for build PACKAGEBUILD-5599365 RUN: /usr/share/launchpad-buildd/slavebin/mount-chroot ['mount-chroot', 'PACKAGEBUILD-5599365'] Mounting chroot for build PACKAGEBUILD-5599365 RUN: /usr/share/launchpad-buildd/slavebin/override-sources-list ['override-sources-list', 'PACKAGEBUILD-5599365', 'deb http://ftpmaster.internal/ubuntu trusty main'] Overriding sources.list in build-PACKAGEBUILD-5599365 RUN: /usr/share/launchpad-buildd/slavebin/update-debian-chroot ['update-debian-chroot', 'PACKAGEBUILD-5599365', 'ppc64el'] Updating debian chroot for build PACKAGEBUILD-5599365 Ign http://ftpmaster.internal trusty InRelease Ign http://archive-team.internal trusty InRelease Ign http://ftpmaster.internal trusty InRelease Ign http://archive-team.internal trusty Release.gpg Get:1 http://ftpmaster.internal trusty Release.gpg [933 B] Hit http://archive-team.internal trusty Release Get:2 http://ftpmaster.internal trusty Release.gpg [933 B] Ign http://archive-team.internal trusty/main ppc64el Packages/DiffIndex Get:3 http://ftpmaster.internal trusty Release [58.5 kB] Get:4 http://ftpmaster.internal trusty Release [58.5 kB] Get:5 http://ftpmaster.internal trusty/main ppc64el Packages [671 kB] Ign http://archive-team.internal trusty/main Translation-en Hit http://archive-team.internal trusty/main ppc64el Packages Get:6 http://ftpmaster.internal trusty/main Translation-en [760 kB] Get:7 http://ftpmaster.internal trusty/main ppc64el Packages [1226 kB] Get:8 http://ftpmaster.internal trusty/main Translation-en [760 kB] Fetched 3535 kB in 6s (518 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. RUN: /usr/share/launchpad-buildd/slavebin/sbuild-package ['sbuild-package', 'PACKAGEBUILD-5599365', 'ppc64el', 'trusty', '--nolog', '--batch', '--archive=ubuntu', '--dist=trusty', '--purpose=PRIMARY', '--architecture=ppc64el', '--comp=main', 'hardening-wrapper_2.5ubuntu1.dsc'] Initiating build PACKAGEBUILD-5599365 with 8 jobs across 8 processor cores. Kernel reported to sbuild: 3.13.0-8-generic #28-Ubuntu SMP Tue Feb 11 17:58:07 UTC 2014 ppc64le Automatic build of hardening-wrapper_2.5ubuntu1 on fisher04 by sbuild/ppc64el 1.170.5 Build started at 20140217-0844 ****************************************************************************** hardening-wrapper_2.5ubuntu1.dsc exists in cwd ** Using build dependencies supplied by package: Build-Depends: debhelper (>= 9), perl-base (>= 5.10) Checking for already installed source dependencies... debhelper: missing perl-base: already installed (5.18.2-2 >= 5.10 is satisfied) Checking for source dependency conflicts... /usr/bin/sudo /usr/bin/apt-get --purge $CHROOT_OPTIONS -q -y install debhelper Reading package lists... Building dependency tree... Reading state information... The following extra packages will be installed: apparmor-easyprof bsdmainutils dh-apparmor dh-python file gettext gettext-base groff-base intltool-debian libasprintf0c2 libcroco3 libexpat1 libglib2.0-0 libmagic1 libmpdec2 libpipeline1 libpython3-stdlib libpython3.3-minimal libpython3.3-stdlib libssl1.0.0 libunistring0 libxml2 man-db mime-support po-debconf python3 python3-minimal python3.3 python3.3-minimal Suggested packages: wamerican wordlist whois vacation dh-make gettext-doc groff less www-browser libmail-box-perl python3-doc python3-tk python3.3-doc binfmt-support Recommended packages: curl wget lynx-cur libasprintf-dev libgettextpo-dev libglib2.0-data shared-mime-info xml-core libmail-sendmail-perl The following NEW packages will be installed: apparmor-easyprof bsdmainutils debhelper dh-apparmor dh-python file gettext gettext-base groff-base intltool-debian libasprintf0c2 libcroco3 libexpat1 libglib2.0-0 libmagic1 libmpdec2 libpipeline1 libpython3-stdlib libpython3.3-minimal libpython3.3-stdlib libssl1.0.0 libunistring0 libxml2 man-db mime-support po-debconf python3 python3-minimal python3.3 python3.3-minimal 0 upgraded, 30 newly installed, 0 to remove and 0 not upgraded. Need to get 10.4 MB of archives. After this operation, 45.6 MB of additional disk space will be used. Get:1 http://ftpmaster.internal/ppc64el/ trusty/main libexpat1 ppc64el 2.1.0-4ubuntu1 [64.4 kB] Get:2 http://ftpmaster.internal/ubuntu/ trusty/main libmagic1 ppc64el 1:5.14-2ubuntu1 [194 kB] Get:3 http://ftpmaster.internal/ubuntu/ trusty/main libssl1.0.0 ppc64el 1.0.1f-1ubuntu1 [762 kB] Get:4 http://ftpmaster.internal/ubuntu/ trusty/main libpython3.3-minimal ppc64el 3.3.4-1 [393 kB] Get:5 http://ftpmaster.internal/ubuntu/ trusty/main mime-support all 3.54ubuntu1 [31.7 kB] Get:6 http://ftpmaster.internal/ppc64el/ trusty/main libmpdec2 ppc64el 2.4.0-6 [79.8 kB] Get:7 http://ftpmaster.internal/ubuntu/ trusty/main libpython3.3-stdlib ppc64el 3.3.4-1 [1911 kB] Get:8 http://ftpmaster.internal/ubuntu/ trusty/main python3.3-minimal ppc64el 3.3.4-1 [1119 kB] Get:9 http://ftpmaster.internal/ppc64el/ trusty/main libasprintf0c2 ppc64el 0.18.3.1-1ubuntu2 [6734 B] Get:10 http://ftpmaster.internal/ppc64el/ trusty/main libglib2.0-0 ppc64el 2.39.4-0ubuntu1 [923 kB] Get:11 http://ftpmaster.internal/ppc64el/ trusty/main libpipeline1 ppc64el 1.2.6-2 [22.4 kB] Get:12 http://ftpmaster.internal/ppc64el/ trusty/main libxml2 ppc64el 2.9.1+dfsg1-3ubuntu3 [502 kB] Get:13 http://ftpmaster.internal/ppc64el/ trusty/main groff-base ppc64el 1.22.2-5 [1111 kB] Get:14 http://ftpmaster.internal/ppc64el/ trusty/main bsdmainutils ppc64el 9.0.5ubuntu1 [171 kB] Get:15 http://ftpmaster.internal/ppc64el/ trusty/main man-db ppc64el 2.6.6-1 [837 kB] Get:16 http://ftpmaster.internal/ppc64el/ trusty/main libcroco3 ppc64el 0.6.8-2ubuntu1 [72.2 kB] Get:17 http://ftpmaster.internal/ppc64el/ trusty/main libunistring0 ppc64el 0.9.3-5ubuntu3 [255 kB] Get:18 http://ftpmaster.internal/ubuntu/ trusty/main python3.3 ppc64el 3.3.4-1 [133 kB] Get:19 http://ftpmaster.internal/ppc64el/ trusty/main python3-minimal ppc64el 3.3.3-1 [23.4 kB] Get:20 http://ftpmaster.internal/ppc64el/ trusty/main libpython3-stdlib ppc64el 3.3.3-1 [7112 B] Get:21 http://ftpmaster.internal/ppc64el/ trusty/main python3 ppc64el 3.3.3-1 [8660 B] Get:22 http://ftpmaster.internal/ubuntu/ trusty/main dh-python all 1.20140128-1ubuntu2 [51.0 kB] Get:23 http://ftpmaster.internal/ubuntu/ trusty/main file ppc64el 1:5.14-2ubuntu1 [19.2 kB] Get:24 http://ftpmaster.internal/ppc64el/ trusty/main gettext-base ppc64el 0.18.3.1-1ubuntu2 [46.7 kB] Get:25 http://ftpmaster.internal/ppc64el/ trusty/main gettext ppc64el 0.18.3.1-1ubuntu2 [794 kB] Get:26 http://ftpmaster.internal/ubuntu/ trusty/main intltool-debian all 0.35.0+20060710.1 [31.6 kB] Get:27 http://ftpmaster.internal/ubuntu/ trusty/main po-debconf all 1.0.16+nmu2ubuntu1 [210 kB] Get:28 http://ftpmaster.internal/ubuntu/ trusty/main apparmor-easyprof all 2.8.0-0ubuntu38 [20.1 kB] Get:29 http://ftpmaster.internal/ubuntu/ trusty/main dh-apparmor all 2.8.0-0ubuntu38 [7286 B] Get:30 http://ftpmaster.internal/ubuntu/ trusty/main debhelper all 9.20131127ubuntu2 [603 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 10.4 MB in 12s (814 kB/s) Selecting previously unselected package libexpat1:ppc64el. (Reading database ... 11450 files and directories currently installed.) Preparing to unpack .../libexpat1_2.1.0-4ubuntu1_ppc64el.deb ... Unpacking libexpat1:ppc64el (2.1.0-4ubuntu1) ... Selecting previously unselected package libmagic1:ppc64el. Preparing to unpack .../libmagic1_1%3a5.14-2ubuntu1_ppc64el.deb ... Unpacking libmagic1:ppc64el (1:5.14-2ubuntu1) ... Selecting previously unselected package libssl1.0.0:ppc64el. Preparing to unpack .../libssl1.0.0_1.0.1f-1ubuntu1_ppc64el.deb ... Unpacking libssl1.0.0:ppc64el (1.0.1f-1ubuntu1) ... Selecting previously unselected package libpython3.3-minimal:ppc64el. Preparing to unpack .../libpython3.3-minimal_3.3.4-1_ppc64el.deb ... Unpacking libpython3.3-minimal:ppc64el (3.3.4-1) ... Selecting previously unselected package mime-support. Preparing to unpack .../mime-support_3.54ubuntu1_all.deb ... Unpacking mime-support (3.54ubuntu1) ... Selecting previously unselected package libmpdec2:ppc64el. Preparing to unpack .../libmpdec2_2.4.0-6_ppc64el.deb ... Unpacking libmpdec2:ppc64el (2.4.0-6) ... Selecting previously unselected package libpython3.3-stdlib:ppc64el. Preparing to unpack .../libpython3.3-stdlib_3.3.4-1_ppc64el.deb ... Unpacking libpython3.3-stdlib:ppc64el (3.3.4-1) ... Selecting previously unselected package python3.3-minimal. Preparing to unpack .../python3.3-minimal_3.3.4-1_ppc64el.deb ... Unpacking python3.3-minimal (3.3.4-1) ... Selecting previously unselected package libasprintf0c2:ppc64el. Preparing to unpack .../libasprintf0c2_0.18.3.1-1ubuntu2_ppc64el.deb ... Unpacking libasprintf0c2:ppc64el (0.18.3.1-1ubuntu2) ... Selecting previously unselected package libglib2.0-0:ppc64el. Preparing to unpack .../libglib2.0-0_2.39.4-0ubuntu1_ppc64el.deb ... Unpacking libglib2.0-0:ppc64el (2.39.4-0ubuntu1) ... Selecting previously unselected package libpipeline1:ppc64el. Preparing to unpack .../libpipeline1_1.2.6-2_ppc64el.deb ... Unpacking libpipeline1:ppc64el (1.2.6-2) ... Selecting previously unselected package libxml2:ppc64el. Preparing to unpack .../libxml2_2.9.1+dfsg1-3ubuntu3_ppc64el.deb ... Unpacking libxml2:ppc64el (2.9.1+dfsg1-3ubuntu3) ... Selecting previously unselected package groff-base. Preparing to unpack .../groff-base_1.22.2-5_ppc64el.deb ... Unpacking groff-base (1.22.2-5) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../bsdmainutils_9.0.5ubuntu1_ppc64el.deb ... Unpacking bsdmainutils (9.0.5ubuntu1) ... Selecting previously unselected package man-db. Preparing to unpack .../man-db_2.6.6-1_ppc64el.deb ... Unpacking man-db (2.6.6-1) ... Selecting previously unselected package libcroco3:ppc64el. Preparing to unpack .../libcroco3_0.6.8-2ubuntu1_ppc64el.deb ... Unpacking libcroco3:ppc64el (0.6.8-2ubuntu1) ... Selecting previously unselected package libunistring0:ppc64el. Preparing to unpack .../libunistring0_0.9.3-5ubuntu3_ppc64el.deb ... Unpacking libunistring0:ppc64el (0.9.3-5ubuntu3) ... Selecting previously unselected package python3.3. Preparing to unpack .../python3.3_3.3.4-1_ppc64el.deb ... Unpacking python3.3 (3.3.4-1) ... Selecting previously unselected package python3-minimal. Preparing to unpack .../python3-minimal_3.3.3-1_ppc64el.deb ... Unpacking python3-minimal (3.3.3-1) ... Selecting previously unselected package libpython3-stdlib:ppc64el. Preparing to unpack .../libpython3-stdlib_3.3.3-1_ppc64el.deb ... Unpacking libpython3-stdlib:ppc64el (3.3.3-1) ... Selecting previously unselected package python3. Preparing to unpack .../python3_3.3.3-1_ppc64el.deb ... Unpacking python3 (3.3.3-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../dh-python_1.20140128-1ubuntu2_all.deb ... Unpacking dh-python (1.20140128-1ubuntu2) ... Selecting previously unselected package file. Preparing to unpack .../file_1%3a5.14-2ubuntu1_ppc64el.deb ... Unpacking file (1:5.14-2ubuntu1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../gettext-base_0.18.3.1-1ubuntu2_ppc64el.deb ... Unpacking gettext-base (0.18.3.1-1ubuntu2) ... Selecting previously unselected package gettext. Preparing to unpack .../gettext_0.18.3.1-1ubuntu2_ppc64el.deb ... Unpacking gettext (0.18.3.1-1ubuntu2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../intltool-debian_0.35.0+20060710.1_all.deb ... Unpacking intltool-debian (0.35.0+20060710.1) ... Selecting previously unselected package po-debconf. Preparing to unpack .../po-debconf_1.0.16+nmu2ubuntu1_all.deb ... Unpacking po-debconf (1.0.16+nmu2ubuntu1) ... Selecting previously unselected package apparmor-easyprof. Preparing to unpack .../apparmor-easyprof_2.8.0-0ubuntu38_all.deb ... Unpacking apparmor-easyprof (2.8.0-0ubuntu38) ... Selecting previously unselected package dh-apparmor. Preparing to unpack .../dh-apparmor_2.8.0-0ubuntu38_all.deb ... Unpacking dh-apparmor (2.8.0-0ubuntu38) ... Selecting previously unselected package debhelper. Preparing to unpack .../debhelper_9.20131127ubuntu2_all.deb ... Unpacking debhelper (9.20131127ubuntu2) ... Setting up libexpat1:ppc64el (2.1.0-4ubuntu1) ... Setting up libmagic1:ppc64el (1:5.14-2ubuntu1) ... Setting up libssl1.0.0:ppc64el (1.0.1f-1ubuntu1) ... Setting up libpython3.3-minimal:ppc64el (3.3.4-1) ... Setting up mime-support (3.54ubuntu1) ... update-alternatives: using /usr/bin/see to provide /usr/bin/view (view) in auto mode Setting up libmpdec2:ppc64el (2.4.0-6) ... Setting up libpython3.3-stdlib:ppc64el (3.3.4-1) ... Setting up python3.3-minimal (3.3.4-1) ... Setting up libasprintf0c2:ppc64el (0.18.3.1-1ubuntu2) ... Setting up libglib2.0-0:ppc64el (2.39.4-0ubuntu1) ... No schema files found: doing nothing. Setting up libpipeline1:ppc64el (1.2.6-2) ... Setting up libxml2:ppc64el (2.9.1+dfsg1-3ubuntu3) ... Setting up groff-base (1.22.2-5) ... Setting up bsdmainutils (9.0.5ubuntu1) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode Setting up man-db (2.6.6-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libcroco3:ppc64el (0.6.8-2ubuntu1) ... Setting up libunistring0:ppc64el (0.9.3-5ubuntu3) ... Setting up python3.3 (3.3.4-1) ... Setting up python3-minimal (3.3.3-1) ... Setting up libpython3-stdlib:ppc64el (3.3.3-1) ... Setting up file (1:5.14-2ubuntu1) ... Setting up gettext-base (0.18.3.1-1ubuntu2) ... Setting up gettext (0.18.3.1-1ubuntu2) ... Setting up intltool-debian (0.35.0+20060710.1) ... Setting up po-debconf (1.0.16+nmu2ubuntu1) ... Setting up dh-python (1.20140128-1ubuntu2) ... Setting up python3 (3.3.3-1) ... running python rtupdate hooks for python3.3... running python post-rtupdate hooks for python3.3... Setting up apparmor-easyprof (2.8.0-0ubuntu38) ... Setting up dh-apparmor (2.8.0-0ubuntu38) ... Setting up debhelper (9.20131127ubuntu2) ... Processing triggers for libc-bin (2.18-0ubuntu7) ... Checking correctness of source dependencies... Toolchain package versions: libc6-dev_2.18-0ubuntu7 make_3.81-8.2ubuntu3 dpkg-dev_1.17.5ubuntu4 gcc-4.8_4.8.2-15ubuntu3 g++-4.8_4.8.2-15ubuntu3 binutils_2.24-2ubuntu3.1 libstdc++-4.8-dev_4.8.2-15ubuntu3 libstdc++6_4.8.2-15ubuntu3 ------------------------------------------------------------------------------ dpkg-source: warning: -sn is not a valid option for Dpkg::Source::Package::V3::Native gpgv: Signature made Wed Dec 18 11:41:06 2013 UTC using DSA key ID 0F932C9C gpgv: Can't check signature: public key not found dpkg-source: warning: failed to verify signature on ./hardening-wrapper_2.5ubuntu1.dsc dpkg-source: info: extracting hardening-wrapper in hardening-wrapper-2.5ubuntu1 dpkg-source: info: unpacking hardening-wrapper_2.5ubuntu1.tar.gz dpkg-buildpackage: source package hardening-wrapper dpkg-buildpackage: source version 2.5ubuntu1 dpkg-buildpackage: source distribution trusty dpkg-source --before-build hardening-wrapper-2.5ubuntu1 dpkg-buildpackage: host architecture ppc64el /usr/bin/fakeroot debian/rules clean dh clean dh_testdir dh_auto_clean make[1]: Entering directory `/build/buildd/hardening-wrapper-2.5ubuntu1' rm -rf build-tree make[1]: Leaving directory `/build/buildd/hardening-wrapper-2.5ubuntu1' dh_clean debian/rules build-arch dh build-arch dh_testdir -a dh_auto_configure -a dh_auto_build -a make[1]: Entering directory `/build/buildd/hardening-wrapper-2.5ubuntu1' if [ -z "ppc64el" ]; then echo No DEB_HOST_ARCH; exit 1; fi if [ -z "linux" ]; then echo No DEB_HOST_ARCH_OS; exit 1; fi mkdir -p build-tree # Construct wrappers. install hardened-cc hardened-ld build-tree/ # Set defaults, based on OS and ARCH. perl -pi -e 's/ #OS#/ '"linux"'/; s/ #ARCH#/ '"ppc64el"'/;' build-tree/hardened-cc build-tree/hardened-ld perl -pi -e "s/default{'DEB_BUILD_HARDENING_PIE'}=1;/default{'DEB_BUILD_HARDENING_PIE'}=1;/;" build-tree/hardened-cc build-tree/hardened-ld perl -pi -e "s/default{'DEB_BUILD_HARDENING_STACKPROTECTOR'}=1;/default{'DEB_BUILD_HARDENING_STACKPROTECTOR'}=1;/;" build-tree/hardened-cc build-tree/hardened-ld # Duplicate cc wrapper to c++. install build-tree/hardened-cc build-tree/hardened-c++ perl -pi -e 's/hardened-cc/hardened-c++/g; s|/usr/bin/cc|/usr/bin/c++|g;' build-tree/hardened-c++ # Construct tools. install hardening.make hardening-check build-tree/ # Do not use "shell" here because it eats newlines. We want those. perl -pi -e "s/^my %libc;/my %libc = (\n$(perl hardening-check --find-libc-functions /bin/ls)\n);/;" build-tree/hardening-check # Construct man pages. install hardened-cc.1 hardened-ld.1 build-tree/ pod2man hardening-check > build-tree/hardening-check.1 # Duplicate cc man page to c++. install build-tree/hardened-cc.1 build-tree/hardened-c++.1 perl -pi -e 's/hardened-cc/hardened-c++/g; s/gcc/g++/g;' build-tree/hardened-c++.1 touch build-tree/stamp-build make[1]: Leaving directory `/build/buildd/hardening-wrapper-2.5ubuntu1' dh_auto_test -a make[1]: Entering directory `/build/buildd/hardening-wrapper-2.5ubuntu1' make -C tests check make[2]: Entering directory `/build/buildd/hardening-wrapper-2.5ubuntu1/tests' # Check the stack protector and PIE options directly, just to have # a historical record in the build logs. cc -Wall -fstack-protector hello.c -o ../build-tree/cc-test || true ../build-tree/cc-test || true ../build-tree/cc-test: ok (0x10000664) cc -Wall -fPIE -pie hello.c -o ../build-tree/cc-test || true ../build-tree/cc-test || true ../build-tree/cc-test: ok (0x312b6934) ../build-tree/cc-test || true ../build-tree/cc-test: ok (0x22f87934) make -f Makefile.wrapper check make[3]: Entering directory `/build/buildd/hardening-wrapper-2.5ubuntu1/tests' # Test basic perl syntax for script in ../build-tree/hardened-cc ../build-tree/hardened-ld ../build-tree/hardened-c++; do perl -c $script; done ../build-tree/hardened-cc syntax OK ../build-tree/hardened-ld syntax OK ../build-tree/hardened-c++ syntax OK touch syntax.stamp # Compiler and linker options disabled. DEB_BUILD_HARDENING=0 ../build-tree/hardened-cc -B ../build-tree/ -o ../build-tree/wrapper-test-stock hello.c /usr/bin/gcc-4.8 -B ../build-tree/ -o ../build-tree/wrapper-test-stock hello.c readelf -ldrsW ../build-tree/wrapper-test-stock Elf file type is EXEC (Executable file) Entry point 0x10000480 There are 8 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align PHDR 0x000040 0x0000000010000040 0x0000000010000040 0x0001c0 0x0001c0 R E 0x8 INTERP 0x000200 0x0000000010000200 0x0000000010000200 0x000011 0x000011 R 0x1 [Requesting program interpreter: /lib64/ld64.so.2] LOAD 0x000000 0x0000000010000000 0x0000000010000000 0x00097c 0x00097c R E 0x10000 LOAD 0x000df8 0x0000000010010df8 0x0000000010010df8 0x000248 0x000280 RW 0x10000 DYNAMIC 0x000e10 0x0000000010010e10 0x0000000010010e10 0x0001f0 0x0001f0 RW 0x8 NOTE 0x000214 0x0000000010000214 0x0000000010000214 0x000044 0x000044 R 0x4 GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW 0x10 GNU_RELRO 0x000df8 0x0000000010010df8 0x0000000010010df8 0x000208 0x000208 R 0x1 Section to Segment mapping: Segment Sections... 00 01 .interp 02 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .text .fini .rodata .eh_frame 03 .init_array .fini_array .jcr .dynamic .data .got .plt .bss 04 .dynamic 05 .note.ABI-tag .note.gnu.build-id 06 07 .init_array .fini_array .jcr .dynamic Dynamic section at offset 0xe10 contains 26 entries: Tag Type Name/Value 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000c (INIT) 0x10000400 0x000000000000000d (FINI) 0x100008d0 0x0000000000000019 (INIT_ARRAY) 0x10010df8 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes) 0x000000000000001a (FINI_ARRAY) 0x10010e00 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes) 0x000000006ffffef5 (GNU_HASH) 0x10000258 0x0000000000000005 (STRTAB) 0x10000308 0x0000000000000006 (SYMTAB) 0x10000278 0x000000000000000a (STRSZ) 81 (bytes) 0x000000000000000b (SYMENT) 24 (bytes) 0x0000000000000015 (DEBUG) 0x0 0x0000000000000003 (PLTGOT) 0x10011040 0x0000000000000002 (PLTRELSZ) 96 (bytes) 0x0000000000000014 (PLTREL) RELA 0x0000000000000017 (JMPREL) 0x100003a0 0x0000000070000000 (PPC64_GLINK) 0x100008a0 0x0000000070000003 (PPC64_OPT) 0x0 0x0000000000000007 (RELA) 0x10000388 0x0000000000000008 (RELASZ) 24 (bytes) 0x0000000000000009 (RELAENT) 24 (bytes) 0x000000006ffffffe (VERNEED) 0x10000368 0x000000006fffffff (VERNEEDNUM) 1 0x000000006ffffff0 (VERSYM) 0x1000035a 0x0000000000000000 (NULL) 0x0 Relocation section '.rela.dyn' at offset 0x388 contains 1 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000010011018 0000000400000026 R_PPC64_ADDR64 0000000000000000 __gmon_start__ + 0 Relocation section '.rela.plt' at offset 0x3a0 contains 4 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000010011050 0000000100000015 R_PPC64_JMP_SLOT 0000000000000000 snprintf + 0 0000000010011058 0000000200000015 R_PPC64_JMP_SLOT 0000000000000000 __libc_start_main + 0 0000000010011060 0000000300000015 R_PPC64_JMP_SLOT 0000000000000000 __stack_chk_fail + 0 0000000010011068 0000000500000015 R_PPC64_JMP_SLOT 0000000000000000 printf + 0 Symbol table '.dynsym' contains 6 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000000 0 FUNC GLOBAL DEFAULT UND snprintf@GLIBC_2.17 (2) 2: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.17 (2) 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@GLIBC_2.17 (2) 4: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 5: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.17 (2) Symbol table '.symtab' contains 71 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000010000200 0 SECTION LOCAL DEFAULT 1 2: 0000000010000214 0 SECTION LOCAL DEFAULT 2 3: 0000000010000234 0 SECTION LOCAL DEFAULT 3 4: 0000000010000258 0 SECTION LOCAL DEFAULT 4 5: 0000000010000278 0 SECTION LOCAL DEFAULT 5 6: 0000000010000308 0 SECTION LOCAL DEFAULT 6 7: 000000001000035a 0 SECTION LOCAL DEFAULT 7 8: 0000000010000368 0 SECTION LOCAL DEFAULT 8 9: 0000000010000388 0 SECTION LOCAL DEFAULT 9 10: 00000000100003a0 0 SECTION LOCAL DEFAULT 10 11: 0000000010000400 0 SECTION LOCAL DEFAULT 11 12: 0000000010000440 0 SECTION LOCAL DEFAULT 12 13: 00000000100008d0 0 SECTION LOCAL DEFAULT 13 14: 00000000100008f8 0 SECTION LOCAL DEFAULT 14 15: 0000000010000938 0 SECTION LOCAL DEFAULT 15 16: 0000000010010df8 0 SECTION LOCAL DEFAULT 16 17: 0000000010010e00 0 SECTION LOCAL DEFAULT 17 18: 0000000010010e08 0 SECTION LOCAL DEFAULT 18 19: 0000000010010e10 0 SECTION LOCAL DEFAULT 19 20: 0000000010011000 0 SECTION LOCAL DEFAULT 20 21: 0000000010011010 0 SECTION LOCAL DEFAULT 21 22: 0000000010011040 0 SECTION LOCAL DEFAULT 22 23: 0000000010011070 0 SECTION LOCAL DEFAULT 23 24: 0000000000000000 0 SECTION LOCAL DEFAULT 24 25: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 26: 0000000010010e08 0 OBJECT LOCAL DEFAULT 18 __JCR_LIST__ 27: 00000000100004d0 0 FUNC LOCAL DEFAULT [: 8] 12 deregister_tm_clones 28: 0000000010000540 0 FUNC LOCAL DEFAULT [: 8] 12 register_tm_clones 29: 00000000100005b0 0 FUNC LOCAL DEFAULT [: 8] 12 __do_global_dtors_aux 30: 0000000010011070 1 OBJECT LOCAL DEFAULT 23 completed.8370 31: 0000000010010e00 0 OBJECT LOCAL DEFAULT 17 __do_global_dtors_aux_fini_array_entry 32: 0000000010000600 0 FUNC LOCAL DEFAULT [: 8] 12 frame_dummy 33: 0000000010010df8 0 OBJECT LOCAL DEFAULT 16 __frame_dummy_init_array_entry 34: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello.c 35: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 36: 0000000010000978 0 OBJECT LOCAL DEFAULT 15 __FRAME_END__ 37: 0000000010010e08 0 OBJECT LOCAL DEFAULT 18 __JCR_END__ 38: 0000000000000000 0 FILE LOCAL DEFAULT ABS 39: 0000000010000440 0 NOTYPE LOCAL DEFAULT 12 00000017.plt_call.__stack_chk_fail@@GLIBC_2.17 40: 0000000010000888 0 NOTYPE LOCAL DEFAULT 12 __glink_PLTresolve 41: 0000000010000450 0 NOTYPE LOCAL DEFAULT 12 00000017.plt_call.printf@@GLIBC_2.17 42: 0000000010010e00 0 NOTYPE LOCAL DEFAULT 16 __init_array_end 43: 0000000010000470 0 NOTYPE LOCAL DEFAULT 12 00000017.plt_call.__libc_start_main@@GLIBC_2.17 44: 0000000010010e10 0 OBJECT LOCAL DEFAULT 19 _DYNAMIC 45: 0000000010010df8 0 NOTYPE LOCAL DEFAULT 16 __init_array_start 46: 0000000010000460 0 NOTYPE LOCAL DEFAULT 12 00000017.plt_call.snprintf@@GLIBC_2.17 47: 0000000010019010 0 OBJECT LOCAL DEFAULT 21 .TOC. 48: 0000000010000870 16 FUNC GLOBAL DEFAULT 12 __libc_csu_fini 49: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable 50: 0000000010011000 0 NOTYPE WEAK DEFAULT 20 data_start 51: 0000000010011040 0 NOTYPE GLOBAL DEFAULT 21 _edata 52: 0000000000000000 0 FUNC GLOBAL DEFAULT UND snprintf@@GLIBC_2.17 53: 00000000100008d0 0 FUNC GLOBAL DEFAULT [: 8] 13 _fini 54: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_2.17 55: 0000000010011000 0 NOTYPE GLOBAL DEFAULT 20 __data_start 56: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@@GLIBC_2.17 57: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 58: 0000000010011008 0 OBJECT GLOBAL HIDDEN 20 __dso_handle 59: 0000000010000664 180 FUNC GLOBAL DEFAULT [: 8] 12 announcement 60: 0000000010000918 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used 61: 0000000010000790 212 FUNC GLOBAL DEFAULT [: 8] 12 __libc_csu_init 62: 0000000010011078 0 NOTYPE GLOBAL DEFAULT 23 _end 63: 0000000010000480 68 FUNC GLOBAL DEFAULT [: 8] 12 _start 64: 0000000010011040 0 NOTYPE GLOBAL DEFAULT 22 __bss_start 65: 0000000010000718 116 FUNC GLOBAL DEFAULT [: 8] 12 main 66: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses 67: 0000000010011010 0 OBJECT GLOBAL HIDDEN 21 __TMC_END__ 68: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable 69: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@@GLIBC_2.17 70: 0000000010000400 0 FUNC GLOBAL DEFAULT [: 8] 11 _init ../build-tree/wrapper-test-stock ../build-tree/wrapper-test-stock: ok (0x10000664) # Compiler options enabled. (linker is not wrapper) ../build-tree/hardened-cc -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-compiled hello.c /usr/bin/gcc-4.8 -fstack-protector --param=ssp-buffer-size=4 -fPIE -pie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-compiled hello.c readelf -ldrsW ../build-tree/wrapper-test-compiled Elf file type is DYN (Shared object file) Entry point 0x7b8 There are 8 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align PHDR 0x000040 0x0000000000000040 0x0000000000000040 0x0001c0 0x0001c0 R E 0x8 INTERP 0x000200 0x0000000000000200 0x0000000000000200 0x000011 0x000011 R 0x1 [Requesting program interpreter: /lib64/ld64.so.2] LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x000c2c 0x000c2c R E 0x10000 LOAD 0x000dd8 0x0000000000010dd8 0x0000000000010dd8 0x000270 0x0002b0 RW 0x10000 DYNAMIC 0x000e10 0x0000000000010e10 0x0000000000010e10 0x0001f0 0x0001f0 RW 0x8 NOTE 0x000214 0x0000000000000214 0x0000000000000214 0x000044 0x000044 R 0x4 GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW 0x10 GNU_RELRO 0x000dd8 0x0000000000010dd8 0x0000000000010dd8 0x000228 0x000228 R 0x1 Section to Segment mapping: Segment Sections... 00 01 .interp 02 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .text .fini .rodata .eh_frame 03 .init_array .fini_array .jcr .data.rel.ro .dynamic .data .got .plt .bss 04 .dynamic 05 .note.ABI-tag .note.gnu.build-id 06 07 .init_array .fini_array .jcr .data.rel.ro .dynamic Dynamic section at offset 0xe10 contains 27 entries: Tag Type Name/Value 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000c (INIT) 0x6c8 0x000000000000000d (FINI) 0xba4 0x0000000000000019 (INIT_ARRAY) 0x10dd8 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes) 0x000000000000001a (FINI_ARRAY) 0x10de0 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes) 0x000000006ffffef5 (GNU_HASH) 0x258 0x0000000000000005 (STRTAB) 0x410 0x0000000000000006 (SYMTAB) 0x290 0x000000000000000a (STRSZ) 222 (bytes) 0x000000000000000b (SYMENT) 24 (bytes) 0x0000000000000015 (DEBUG) 0x0 0x0000000000000003 (PLTGOT) 0x11048 0x0000000000000002 (PLTRELSZ) 120 (bytes) 0x0000000000000014 (PLTREL) RELA 0x0000000000000017 (JMPREL) 0x650 0x0000000070000000 (PPC64_GLINK) 0xb70 0x0000000070000003 (PPC64_OPT) 0x0 0x0000000000000007 (RELA) 0x530 0x0000000000000008 (RELASZ) 288 (bytes) 0x0000000000000009 (RELAENT) 24 (bytes) 0x000000006ffffffe (VERNEED) 0x510 0x000000006fffffff (VERNEEDNUM) 1 0x000000006ffffff0 (VERSYM) 0x4ee 0x000000006ffffff9 (RELACOUNT) 7 0x0000000000000000 (NULL) 0x0 Relocation section '.rela.dyn' at offset 0x530 contains 12 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000010dd8 0000000000000016 R_PPC64_RELATIVE 950 0000000000010de0 0000000000000016 R_PPC64_RELATIVE 8e0 0000000000010df8 0000000000000016 R_PPC64_RELATIVE 770 0000000000010e00 0000000000000016 R_PPC64_RELATIVE a60 0000000000010e08 0000000000000016 R_PPC64_RELATIVE b40 0000000000011008 0000000000000016 R_PPC64_RELATIVE 11008 0000000000011020 0000000000000016 R_PPC64_RELATIVE 10df0 0000000000011018 0000000900000026 R_PPC64_ADDR64 0000000000000000 __gmon_start__ + 0 0000000000011028 0000000300000026 R_PPC64_ADDR64 0000000000000000 _ITM_deregisterTMCloneTable + 0 0000000000011030 0000000b00000026 R_PPC64_ADDR64 0000000000000000 _ITM_registerTMCloneTable + 0 0000000000011038 0000000400000026 R_PPC64_ADDR64 0000000000000000 __cxa_finalize + 0 0000000000011040 0000000a00000026 R_PPC64_ADDR64 0000000000000000 _Jv_RegisterClasses + 0 Relocation section '.rela.plt' at offset 0x650 contains 5 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000011058 0000000400000015 R_PPC64_JMP_SLOT 0000000000000000 __cxa_finalize + 0 0000000000011060 0000000500000015 R_PPC64_JMP_SLOT 0000000000000000 snprintf + 0 0000000000011068 0000000600000015 R_PPC64_JMP_SLOT 0000000000000000 __libc_start_main + 0 0000000000011070 0000000700000015 R_PPC64_JMP_SLOT 0000000000000000 __printf_chk + 0 0000000000011078 0000000800000015 R_PPC64_JMP_SLOT 0000000000000000 __stack_chk_fail + 0 Symbol table '.dynsym' contains 16 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000200 0 SECTION LOCAL DEFAULT 1 2: 0000000000010de8 0 SECTION LOCAL DEFAULT 18 3: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable 4: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (2) 5: 0000000000000000 0 FUNC GLOBAL DEFAULT UND snprintf@GLIBC_2.17 (2) 6: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.17 (2) 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __printf_chk@GLIBC_2.17 (2) 8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@GLIBC_2.17 (2) 9: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 10: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses 11: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable 12: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 22 _edata 13: 0000000000011088 0 NOTYPE GLOBAL DEFAULT 24 _end 14: 0000000000000bc8 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used 15: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 23 __bss_start Symbol table '.symtab' contains 82 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000200 0 SECTION LOCAL DEFAULT 1 2: 0000000000000214 0 SECTION LOCAL DEFAULT 2 3: 0000000000000234 0 SECTION LOCAL DEFAULT 3 4: 0000000000000258 0 SECTION LOCAL DEFAULT 4 5: 0000000000000290 0 SECTION LOCAL DEFAULT 5 6: 0000000000000410 0 SECTION LOCAL DEFAULT 6 7: 00000000000004ee 0 SECTION LOCAL DEFAULT 7 8: 0000000000000510 0 SECTION LOCAL DEFAULT 8 9: 0000000000000530 0 SECTION LOCAL DEFAULT 9 10: 0000000000000650 0 SECTION LOCAL DEFAULT 10 11: 00000000000006c8 0 SECTION LOCAL DEFAULT 11 12: 0000000000000720 0 SECTION LOCAL DEFAULT 12 13: 0000000000000ba4 0 SECTION LOCAL DEFAULT 13 14: 0000000000000bc8 0 SECTION LOCAL DEFAULT 14 15: 0000000000000be8 0 SECTION LOCAL DEFAULT 15 16: 0000000000010dd8 0 SECTION LOCAL DEFAULT 16 17: 0000000000010de0 0 SECTION LOCAL DEFAULT 17 18: 0000000000010de8 0 SECTION LOCAL DEFAULT 18 19: 0000000000010df0 0 SECTION LOCAL DEFAULT 19 20: 0000000000010e10 0 SECTION LOCAL DEFAULT 20 21: 0000000000011000 0 SECTION LOCAL DEFAULT 21 22: 0000000000011010 0 SECTION LOCAL DEFAULT 22 23: 0000000000011048 0 SECTION LOCAL DEFAULT 23 24: 0000000000011080 0 SECTION LOCAL DEFAULT 24 25: 0000000000000000 0 SECTION LOCAL DEFAULT 25 26: 0000000000000000 0 SECTION LOCAL DEFAULT 26 27: 0000000000000000 0 SECTION LOCAL DEFAULT 27 28: 0000000000000000 0 SECTION LOCAL DEFAULT 28 29: 0000000000000000 0 SECTION LOCAL DEFAULT 29 30: 0000000000000000 0 SECTION LOCAL DEFAULT 30 31: 0000000000000000 0 SECTION LOCAL DEFAULT 31 32: 0000000000000000 0 SECTION LOCAL DEFAULT 32 33: 0000000000000000 0 SECTION LOCAL DEFAULT 33 34: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello.c 35: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 36: 0000000000010de8 0 OBJECT LOCAL DEFAULT 18 __JCR_LIST__ 37: 0000000000000800 0 FUNC LOCAL DEFAULT [: 8] 12 deregister_tm_clones 38: 0000000000000870 0 FUNC LOCAL DEFAULT [: 8] 12 register_tm_clones 39: 00000000000008e0 0 FUNC LOCAL DEFAULT [: 8] 12 __do_global_dtors_aux 40: 0000000000011080 1 OBJECT LOCAL DEFAULT 24 completed.8370 41: 0000000000010de0 0 OBJECT LOCAL DEFAULT 17 __do_global_dtors_aux_fini_array_entry 42: 0000000000000950 0 FUNC LOCAL DEFAULT [: 8] 12 frame_dummy 43: 0000000000010dd8 0 OBJECT LOCAL DEFAULT 16 __frame_dummy_init_array_entry 44: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 45: 0000000000000c28 0 OBJECT LOCAL DEFAULT 15 __FRAME_END__ 46: 0000000000010de8 0 OBJECT LOCAL DEFAULT 18 __JCR_END__ 47: 0000000000000000 0 FILE LOCAL DEFAULT ABS 48: 0000000000000740 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__stack_chk_fail@@GLIBC_2.17 49: 0000000000000750 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__libc_start_main@@GLIBC_2.17 50: 0000000000000b58 0 NOTYPE LOCAL DEFAULT 12 __glink_PLTresolve 51: 0000000000010de0 0 NOTYPE LOCAL DEFAULT 16 __init_array_end 52: 0000000000011008 0 OBJECT LOCAL DEFAULT 21 __dso_handle 53: 0000000000000760 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.snprintf@@GLIBC_2.17 54: 0000000000000720 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__printf_chk@@GLIBC_2.17 55: 0000000000010e10 0 OBJECT LOCAL DEFAULT 20 _DYNAMIC 56: 0000000000010dd8 0 NOTYPE LOCAL DEFAULT 16 __init_array_start 57: 0000000000011010 0 OBJECT LOCAL DEFAULT 22 __TMC_END__ 58: 0000000000019010 0 OBJECT LOCAL DEFAULT 22 .TOC. 59: 0000000000000730 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__cxa_finalize@@GLIBC_2.17 60: 0000000000000b40 16 FUNC GLOBAL DEFAULT 12 __libc_csu_fini 61: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable 62: 0000000000011000 0 NOTYPE WEAK DEFAULT 21 data_start 63: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@@GLIBC_2.17 64: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 22 _edata 65: 0000000000000000 0 FUNC GLOBAL DEFAULT UND snprintf@@GLIBC_2.17 66: 0000000000000ba4 0 FUNC GLOBAL DEFAULT [: 8] 13 _fini 67: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_2.17 68: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __printf_chk@@GLIBC_2.17 69: 0000000000011000 0 NOTYPE GLOBAL DEFAULT 21 __data_start 70: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@@GLIBC_2.17 71: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 72: 00000000000009c0 160 FUNC GLOBAL DEFAULT [: 8] 12 announcement 73: 0000000000000bc8 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used 74: 0000000000000a60 212 FUNC GLOBAL DEFAULT [: 8] 12 __libc_csu_init 75: 0000000000011088 0 NOTYPE GLOBAL DEFAULT 24 _end 76: 00000000000007b8 68 FUNC GLOBAL DEFAULT [: 8] 12 _start 77: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 23 __bss_start 78: 0000000000000770 72 FUNC GLOBAL DEFAULT [: 8] 12 main 79: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses 80: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable 81: 00000000000006c8 0 FUNC GLOBAL DEFAULT [: 8] 11 _init # Run twice to show off PIE, if available in kernel ../build-tree/wrapper-test-compiled ../build-tree/wrapper-test-compiled: ok (0x52e9c9c0) ../build-tree/wrapper-test-compiled ../build-tree/wrapper-test-compiled: ok (0x247c79c0) # Enable symlink for ld to trick gcc into doing wrapped linking (cd ../build-tree && ln -s hardened-ld ld) (cd ../build-tree && ln -s hardened-ld ld.gold) # Compiler and linker options enabled. ../build-tree/hardened-cc -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-linked hello.c /usr/bin/gcc-4.8 -fstack-protector --param=ssp-buffer-size=4 -fPIE -pie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-linked hello.c /usr/bin/ld.bfd -z now --sysroot=/ --build-id --eh-frame-hdr -m elf64lppc --hash-style=gnu --as-needed -dynamic-linker /lib64/ld64.so.2 -pie -z relro -o ../build-tree/wrapper-test-linked /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/Scrt1.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/crti.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/crtbeginS.o -L../build-tree -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8 -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../../lib -L/lib/powerpc64le-linux-gnu -L/lib/../lib -L/usr/lib/powerpc64le-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../.. -Bsymbolic-functions -z relro /tmp/ccSitevE.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/powerpc64le-linux-gnu/4.8/crtendS.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/crtn.o readelf -ldrsW ../build-tree/wrapper-test-linked Elf file type is DYN (Shared object file) Entry point 0x7b8 There are 8 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align PHDR 0x000040 0x0000000000000040 0x0000000000000040 0x0001c0 0x0001c0 R E 0x8 INTERP 0x000200 0x0000000000000200 0x0000000000000200 0x000011 0x000011 R 0x1 [Requesting program interpreter: /lib64/ld64.so.2] LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x000c2c 0x000c2c R E 0x10000 LOAD 0x000db8 0x0000000000010db8 0x0000000000010db8 0x000290 0x0002d0 RW 0x10000 DYNAMIC 0x000df0 0x0000000000010df0 0x0000000000010df0 0x000210 0x000210 RW 0x8 NOTE 0x000214 0x0000000000000214 0x0000000000000214 0x000044 0x000044 R 0x4 GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW 0x10 GNU_RELRO 0x000db8 0x0000000000010db8 0x0000000000010db8 0x000248 0x000248 R 0x1 Section to Segment mapping: Segment Sections... 00 01 .interp 02 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .text .fini .rodata .eh_frame 03 .init_array .fini_array .jcr .data.rel.ro .dynamic .data .got .plt .bss 04 .dynamic 05 .note.ABI-tag .note.gnu.build-id 06 07 .init_array .fini_array .jcr .data.rel.ro .dynamic Dynamic section at offset 0xdf0 contains 29 entries: Tag Type Name/Value 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000c (INIT) 0x6c8 0x000000000000000d (FINI) 0xba4 0x0000000000000019 (INIT_ARRAY) 0x10db8 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes) 0x000000000000001a (FINI_ARRAY) 0x10dc0 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes) 0x000000006ffffef5 (GNU_HASH) 0x258 0x0000000000000005 (STRTAB) 0x410 0x0000000000000006 (SYMTAB) 0x290 0x000000000000000a (STRSZ) 222 (bytes) 0x000000000000000b (SYMENT) 24 (bytes) 0x0000000000000015 (DEBUG) 0x0 0x0000000000000003 (PLTGOT) 0x11048 0x0000000000000002 (PLTRELSZ) 120 (bytes) 0x0000000000000014 (PLTREL) RELA 0x0000000000000017 (JMPREL) 0x650 0x0000000070000000 (PPC64_GLINK) 0xb70 0x0000000070000003 (PPC64_OPT) 0x0 0x0000000000000007 (RELA) 0x530 0x0000000000000008 (RELASZ) 288 (bytes) 0x0000000000000009 (RELAENT) 24 (bytes) 0x0000000000000018 (BIND_NOW) 0x000000006ffffffb (FLAGS_1) Flags: NOW 0x000000006ffffffe (VERNEED) 0x510 0x000000006fffffff (VERNEEDNUM) 1 0x000000006ffffff0 (VERSYM) 0x4ee 0x000000006ffffff9 (RELACOUNT) 7 0x0000000000000000 (NULL) 0x0 Relocation section '.rela.dyn' at offset 0x530 contains 12 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000010db8 0000000000000016 R_PPC64_RELATIVE 950 0000000000010dc0 0000000000000016 R_PPC64_RELATIVE 8e0 0000000000010dd8 0000000000000016 R_PPC64_RELATIVE 770 0000000000010de0 0000000000000016 R_PPC64_RELATIVE a60 0000000000010de8 0000000000000016 R_PPC64_RELATIVE b40 0000000000011008 0000000000000016 R_PPC64_RELATIVE 11008 0000000000011020 0000000000000016 R_PPC64_RELATIVE 10dd0 0000000000011018 0000000900000026 R_PPC64_ADDR64 0000000000000000 __gmon_start__ + 0 0000000000011028 0000000300000026 R_PPC64_ADDR64 0000000000000000 _ITM_deregisterTMCloneTable + 0 0000000000011030 0000000b00000026 R_PPC64_ADDR64 0000000000000000 _ITM_registerTMCloneTable + 0 0000000000011038 0000000400000026 R_PPC64_ADDR64 0000000000000000 __cxa_finalize + 0 0000000000011040 0000000a00000026 R_PPC64_ADDR64 0000000000000000 _Jv_RegisterClasses + 0 Relocation section '.rela.plt' at offset 0x650 contains 5 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000011058 0000000400000015 R_PPC64_JMP_SLOT 0000000000000000 __cxa_finalize + 0 0000000000011060 0000000500000015 R_PPC64_JMP_SLOT 0000000000000000 snprintf + 0 0000000000011068 0000000600000015 R_PPC64_JMP_SLOT 0000000000000000 __libc_start_main + 0 0000000000011070 0000000700000015 R_PPC64_JMP_SLOT 0000000000000000 __printf_chk + 0 0000000000011078 0000000800000015 R_PPC64_JMP_SLOT 0000000000000000 __stack_chk_fail + 0 Symbol table '.dynsym' contains 16 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000200 0 SECTION LOCAL DEFAULT 1 2: 0000000000010dc8 0 SECTION LOCAL DEFAULT 18 3: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable 4: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (2) 5: 0000000000000000 0 FUNC GLOBAL DEFAULT UND snprintf@GLIBC_2.17 (2) 6: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.17 (2) 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __printf_chk@GLIBC_2.17 (2) 8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@GLIBC_2.17 (2) 9: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 10: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses 11: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable 12: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 22 _edata 13: 0000000000011088 0 NOTYPE GLOBAL DEFAULT 24 _end 14: 0000000000000bc8 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used 15: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 23 __bss_start Symbol table '.symtab' contains 82 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000200 0 SECTION LOCAL DEFAULT 1 2: 0000000000000214 0 SECTION LOCAL DEFAULT 2 3: 0000000000000234 0 SECTION LOCAL DEFAULT 3 4: 0000000000000258 0 SECTION LOCAL DEFAULT 4 5: 0000000000000290 0 SECTION LOCAL DEFAULT 5 6: 0000000000000410 0 SECTION LOCAL DEFAULT 6 7: 00000000000004ee 0 SECTION LOCAL DEFAULT 7 8: 0000000000000510 0 SECTION LOCAL DEFAULT 8 9: 0000000000000530 0 SECTION LOCAL DEFAULT 9 10: 0000000000000650 0 SECTION LOCAL DEFAULT 10 11: 00000000000006c8 0 SECTION LOCAL DEFAULT 11 12: 0000000000000720 0 SECTION LOCAL DEFAULT 12 13: 0000000000000ba4 0 SECTION LOCAL DEFAULT 13 14: 0000000000000bc8 0 SECTION LOCAL DEFAULT 14 15: 0000000000000be8 0 SECTION LOCAL DEFAULT 15 16: 0000000000010db8 0 SECTION LOCAL DEFAULT 16 17: 0000000000010dc0 0 SECTION LOCAL DEFAULT 17 18: 0000000000010dc8 0 SECTION LOCAL DEFAULT 18 19: 0000000000010dd0 0 SECTION LOCAL DEFAULT 19 20: 0000000000010df0 0 SECTION LOCAL DEFAULT 20 21: 0000000000011000 0 SECTION LOCAL DEFAULT 21 22: 0000000000011010 0 SECTION LOCAL DEFAULT 22 23: 0000000000011048 0 SECTION LOCAL DEFAULT 23 24: 0000000000011080 0 SECTION LOCAL DEFAULT 24 25: 0000000000000000 0 SECTION LOCAL DEFAULT 25 26: 0000000000000000 0 SECTION LOCAL DEFAULT 26 27: 0000000000000000 0 SECTION LOCAL DEFAULT 27 28: 0000000000000000 0 SECTION LOCAL DEFAULT 28 29: 0000000000000000 0 SECTION LOCAL DEFAULT 29 30: 0000000000000000 0 SECTION LOCAL DEFAULT 30 31: 0000000000000000 0 SECTION LOCAL DEFAULT 31 32: 0000000000000000 0 SECTION LOCAL DEFAULT 32 33: 0000000000000000 0 SECTION LOCAL DEFAULT 33 34: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello.c 35: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 36: 0000000000010dc8 0 OBJECT LOCAL DEFAULT 18 __JCR_LIST__ 37: 0000000000000800 0 FUNC LOCAL DEFAULT [: 8] 12 deregister_tm_clones 38: 0000000000000870 0 FUNC LOCAL DEFAULT [: 8] 12 register_tm_clones 39: 00000000000008e0 0 FUNC LOCAL DEFAULT [: 8] 12 __do_global_dtors_aux 40: 0000000000011080 1 OBJECT LOCAL DEFAULT 24 completed.8370 41: 0000000000010dc0 0 OBJECT LOCAL DEFAULT 17 __do_global_dtors_aux_fini_array_entry 42: 0000000000000950 0 FUNC LOCAL DEFAULT [: 8] 12 frame_dummy 43: 0000000000010db8 0 OBJECT LOCAL DEFAULT 16 __frame_dummy_init_array_entry 44: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 45: 0000000000000c28 0 OBJECT LOCAL DEFAULT 15 __FRAME_END__ 46: 0000000000010dc8 0 OBJECT LOCAL DEFAULT 18 __JCR_END__ 47: 0000000000000000 0 FILE LOCAL DEFAULT ABS 48: 0000000000000740 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__stack_chk_fail@@GLIBC_2.17 49: 0000000000000750 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__libc_start_main@@GLIBC_2.17 50: 0000000000000b58 0 NOTYPE LOCAL DEFAULT 12 __glink_PLTresolve 51: 0000000000010dc0 0 NOTYPE LOCAL DEFAULT 16 __init_array_end 52: 0000000000011008 0 OBJECT LOCAL DEFAULT 21 __dso_handle 53: 0000000000000760 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.snprintf@@GLIBC_2.17 54: 0000000000000720 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__printf_chk@@GLIBC_2.17 55: 0000000000010df0 0 OBJECT LOCAL DEFAULT 20 _DYNAMIC 56: 0000000000010db8 0 NOTYPE LOCAL DEFAULT 16 __init_array_start 57: 0000000000011010 0 OBJECT LOCAL DEFAULT 22 __TMC_END__ 58: 0000000000019010 0 OBJECT LOCAL DEFAULT 22 .TOC. 59: 0000000000000730 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__cxa_finalize@@GLIBC_2.17 60: 0000000000000b40 16 FUNC GLOBAL DEFAULT 12 __libc_csu_fini 61: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable 62: 0000000000011000 0 NOTYPE WEAK DEFAULT 21 data_start 63: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@@GLIBC_2.17 64: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 22 _edata 65: 0000000000000000 0 FUNC GLOBAL DEFAULT UND snprintf@@GLIBC_2.17 66: 0000000000000ba4 0 FUNC GLOBAL DEFAULT [: 8] 13 _fini 67: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_2.17 68: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __printf_chk@@GLIBC_2.17 69: 0000000000011000 0 NOTYPE GLOBAL DEFAULT 21 __data_start 70: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@@GLIBC_2.17 71: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 72: 00000000000009c0 160 FUNC GLOBAL DEFAULT [: 8] 12 announcement 73: 0000000000000bc8 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used 74: 0000000000000a60 212 FUNC GLOBAL DEFAULT [: 8] 12 __libc_csu_init 75: 0000000000011088 0 NOTYPE GLOBAL DEFAULT 24 _end 76: 00000000000007b8 68 FUNC GLOBAL DEFAULT [: 8] 12 _start 77: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 23 __bss_start 78: 0000000000000770 72 FUNC GLOBAL DEFAULT [: 8] 12 main 79: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses 80: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable 81: 00000000000006c8 0 FUNC GLOBAL DEFAULT [: 8] 11 _init # Run twice to show off PIE, if available in kernel ../build-tree/wrapper-test-linked ../build-tree/wrapper-test-linked: ok (0x2859e9c0) ../build-tree/wrapper-test-linked ../build-tree/wrapper-test-linked: ok (0x5e3189c0) # Check state of hardening features via check script perl ../build-tree/hardening-check ../build-tree/wrapper-test-linked ../build-tree/wrapper-test-linked: Position Independent Executable: yes Stack protected: yes Fortify Source functions: yes (some protected functions found) Read-only relocations: yes Immediate binding: yes # Manually check state of hardening features # Test PIE readelf -lW ../build-tree/wrapper-test-linked | grep '^Elf file type is DYN' Elf file type is DYN (Shared object file) # Test Stack Protector nm ../build-tree/wrapper-test-linked | egrep '__stack_chk_fail($|@@GLIBC)' 0000000000000740 t 00000049.plt_call.__stack_chk_fail@@GLIBC_2.17 U __stack_chk_fail@@GLIBC_2.17 # Test Fortify nm ../build-tree/wrapper-test-linked | egrep '__(sn)?printf_chk($|@@GLIBC)' 0000000000000720 t 00000049.plt_call.__printf_chk@@GLIBC_2.17 U __printf_chk@@GLIBC_2.17 # Test Format (no-op currently) # Test for RELRO readelf -lW ../build-tree/wrapper-test-linked | grep GNU_RELRO GNU_RELRO 0x000db8 0x0000000000010db8 0x0000000000010db8 0x000248 0x000248 R 0x1 # Test for BIND_NOW readelf -dW ../build-tree/wrapper-test-linked | grep BIND_NOW 0x0000000000000018 (BIND_NOW) # Build directly with -fPIC already defined ../build-tree/hardened-cc -B ../build-tree/ -fPIC -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-fPIC-direct hello.c /usr/bin/gcc-4.8 -fstack-protector --param=ssp-buffer-size=4 -pie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -B ../build-tree/ -fPIC -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-fPIC-direct hello.c /usr/bin/ld.bfd -z now --sysroot=/ --build-id --eh-frame-hdr -m elf64lppc --hash-style=gnu --as-needed -dynamic-linker /lib64/ld64.so.2 -pie -z relro -o ../build-tree/wrapper-test-fPIC-direct /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/Scrt1.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/crti.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/crtbeginS.o -L../build-tree -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8 -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../../lib -L/lib/powerpc64le-linux-gnu -L/lib/../lib -L/usr/lib/powerpc64le-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../.. -Bsymbolic-functions -z relro /tmp/cc07n8TY.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/powerpc64le-linux-gnu/4.8/crtendS.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/crtn.o ../build-tree/wrapper-test-fPIC-direct ../build-tree/wrapper-test-fPIC-direct: ok (0x5a6769c0) # Build .o with -fPIC already defined ../build-tree/hardened-cc -B ../build-tree/ -fPIC -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-fPIC.o -c hello.c /usr/bin/gcc-4.8 -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -B ../build-tree/ -fPIC -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-fPIC.o -c hello.c # Link .o with -fPIC already defined ../build-tree/hardened-cc -B ../build-tree/ -fPIC -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-fPIC ../build-tree/wrapper-test-fPIC.o /usr/bin/gcc-4.8 -fstack-protector --param=ssp-buffer-size=4 -pie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -B ../build-tree/ -fPIC -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-fPIC ../build-tree/wrapper-test-fPIC.o /usr/bin/ld.bfd -z now --sysroot=/ --build-id --eh-frame-hdr -m elf64lppc --hash-style=gnu --as-needed -dynamic-linker /lib64/ld64.so.2 -pie -z relro -o ../build-tree/wrapper-test-fPIC /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/Scrt1.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/crti.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/crtbeginS.o -L../build-tree -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8 -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../../lib -L/lib/powerpc64le-linux-gnu -L/lib/../lib -L/usr/lib/powerpc64le-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../.. -Bsymbolic-functions -z relro ../build-tree/wrapper-test-fPIC.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/powerpc64le-linux-gnu/4.8/crtendS.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/crtn.o ../build-tree/wrapper-test-fPIC ../build-tree/wrapper-test-fPIC: ok (0x5fae79c0) # Make sure build fails due to -Werror=format-security ! ../build-tree/hardened-cc -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-format-security format.c /usr/bin/gcc-4.8 -fstack-protector --param=ssp-buffer-size=4 -fPIE -pie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-format-security format.c format.c: In function 'main': format.c:11:5: error: format not a string literal and no format arguments [-Werror=format-security] return fprintf(stderr, argv[0]); ^ cc1: some warnings being treated as errors # Make sure build succeeds with -Wno-format-security ../build-tree/hardened-cc -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wno-format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-format-security format.c /usr/bin/gcc-4.8 -fstack-protector --param=ssp-buffer-size=4 -fPIE -pie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wno-format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-format-security format.c /usr/bin/ld.bfd -z now --sysroot=/ --build-id --eh-frame-hdr -m elf64lppc --hash-style=gnu --as-needed -dynamic-linker /lib64/ld64.so.2 -pie -z relro -o ../build-tree/wrapper-test-format-security /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/Scrt1.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/crti.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/crtbeginS.o -L../build-tree -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8 -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../../lib -L/lib/powerpc64le-linux-gnu -L/lib/../lib -L/usr/lib/powerpc64le-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../.. -Bsymbolic-functions -z relro /tmp/cclcav4l.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/powerpc64le-linux-gnu/4.8/crtendS.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/crtn.o # Make sure build stack-protects a small ssp buffer ../build-tree/hardened-cc -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-ssp-buffer-size-protect ssp-buffer-size-protect.c /usr/bin/gcc-4.8 -fstack-protector --param=ssp-buffer-size=4 -fPIE -pie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-ssp-buffer-size-protect ssp-buffer-size-protect.c /usr/bin/ld.bfd -z now --sysroot=/ --build-id --eh-frame-hdr -m elf64lppc --hash-style=gnu --as-needed -dynamic-linker /lib64/ld64.so.2 -pie -z relro -o ../build-tree/wrapper-test-ssp-buffer-size-protect /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/Scrt1.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/crti.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/crtbeginS.o -L../build-tree -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8 -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../../lib -L/lib/powerpc64le-linux-gnu -L/lib/../lib -L/usr/lib/powerpc64le-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../.. -Bsymbolic-functions -z relro /tmp/ccMPvFVk.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/powerpc64le-linux-gnu/4.8/crtendS.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/crtn.o # Test Stack Protector nm ../build-tree/wrapper-test-ssp-buffer-size-protect | egrep '__stack_chk_fail($|@@GLIBC)' 0000000000000740 t 00000049.plt_call.__stack_chk_fail@@GLIBC_2.17 U __stack_chk_fail@@GLIBC_2.17 # Make sure build does not stack-protects a tiny ssp buffer ../build-tree/hardened-cc -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-ssp-buffer-size-skip ssp-buffer-size-skip.c /usr/bin/gcc-4.8 -fstack-protector --param=ssp-buffer-size=4 -fPIE -pie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -o ../build-tree/wrapper-test-ssp-buffer-size-skip ssp-buffer-size-skip.c /usr/bin/ld.bfd -z now --sysroot=/ --build-id --eh-frame-hdr -m elf64lppc --hash-style=gnu --as-needed -dynamic-linker /lib64/ld64.so.2 -pie -z relro -o ../build-tree/wrapper-test-ssp-buffer-size-skip /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/Scrt1.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/crti.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/crtbeginS.o -L../build-tree -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8 -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../../lib -L/lib/powerpc64le-linux-gnu -L/lib/../lib -L/usr/lib/powerpc64le-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../.. -Bsymbolic-functions -z relro /tmp/cc0uGSwr.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/powerpc64le-linux-gnu/4.8/crtendS.o /usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu/crtn.o # Test Stack Protector is correctly skipped ! nm ../build-tree/wrapper-test-ssp-buffer-size-skip | egrep '__stack_chk_fail($|@@GLIBC)' ../build-tree/hardened-cc -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -c -o ../build-tree/wrapper-test-all.o hello.c /usr/bin/gcc-4.8 -fstack-protector --param=ssp-buffer-size=4 -fPIE -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -B ../build-tree/ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -c -o ../build-tree/wrapper-test-all.o hello.c ar r ../build-tree/wrapper-test-all.a ../build-tree/wrapper-test-all.o ar: creating ../build-tree/wrapper-test-all.a readelf -ldrsW ../build-tree/wrapper-test-all.a File: ../build-tree/wrapper-test-all.a(wrapper-test-all.o) There are no program headers in this file. Relocation section '.rela.text' at offset 0x1930 contains 11 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000000 00000013000000fc R_PPC64_REL16_HA 0000000000000000 .TOC. + 0 0000000000000004 00000013000000fa R_PPC64_REL16_LO 0000000000000000 .TOC. + 4 0000000000000010 0000000700000032 R_PPC64_TOC16_HA 0000000000000000 .rodata.str1.8 + 0 000000000000001c 0000000700000030 R_PPC64_TOC16_LO 0000000000000000 .rodata.str1.8 + 0 000000000000003c 000000140000000a R_PPC64_REL24 0000000000000000 snprintf + 0 0000000000000044 0000000700000032 R_PPC64_TOC16_HA 0000000000000000 .rodata.str1.8 + 8 0000000000000048 0000001200000032 R_PPC64_TOC16_HA 0000000000000000 announcement + 0 0000000000000050 0000000700000030 R_PPC64_TOC16_LO 0000000000000000 .rodata.str1.8 + 8 0000000000000058 0000001200000030 R_PPC64_TOC16_LO 0000000000000000 announcement + 0 000000000000005c 000000150000000a R_PPC64_REL24 0000000000000000 __printf_chk + 0 000000000000008c 000000160000000a R_PPC64_REL24 0000000000000000 __stack_chk_fail + 0 Relocation section '.rela.text.startup' at offset 0x1a38 contains 3 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000000 00000013000000fc R_PPC64_REL16_HA 0000000000000000 .TOC. + 0 0000000000000004 00000013000000fa R_PPC64_REL16_LO 0000000000000000 .TOC. + 4 0000000000000018 000000120000000a R_PPC64_REL24 0000000000000000 announcement + 0 Relocation section '.rela.debug_info' at offset 0x1a80 contains 88 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000006 0000000900000001 R_PPC64_ADDR32 0000000000000000 .debug_abbrev + 0 000000000000000c 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 122 0000000000000011 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 355 0000000000000015 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 7d 0000000000000019 0000000c00000001 R_PPC64_ADDR32 0000000000000000 .debug_ranges + 50 0000000000000025 0000000d00000001 R_PPC64_ADDR32 0000000000000000 .debug_line + 0 000000000000002a 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2d 0000000000000037 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 217 000000000000003e 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 103 0000000000000045 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2b7 000000000000004c 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 1f5 0000000000000053 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 116 000000000000005a 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 23 0000000000000068 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + c7 000000000000006d 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2ed 0000000000000078 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 229 0000000000000085 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 34 0000000000000094 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 277 0000000000000099 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + d 00000000000000a5 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 53 00000000000000b1 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 25e 00000000000000bd 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 70 00000000000000c9 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 319 00000000000000d5 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 233 00000000000000e1 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 45 00000000000000ed 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2d0 00000000000000fa 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 5a 0000000000000107 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 26b 0000000000000114 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 336 0000000000000121 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2f5 000000000000012e 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 16 000000000000013b 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 67 0000000000000148 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2e6 0000000000000155 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2de 0000000000000162 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 30b 000000000000016f 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + f7 000000000000017c 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + d7 0000000000000189 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 327 0000000000000196 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 20d 00000000000001a3 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + c1 00000000000001b0 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 3d 00000000000001bd 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 294 00000000000001ca 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 29b 00000000000001d7 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2a2 00000000000001e4 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2a9 00000000000001f1 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2b0 00000000000001fe 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 313 000000000000020b 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 242 0000000000000219 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 364 0000000000000220 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 202 000000000000022c 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 28e 0000000000000238 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + f1 0000000000000244 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + e3 0000000000000290 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + b3 0000000000000297 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 1d9 000000000000029c 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + e8 00000000000002c2 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2ca 00000000000002cf 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + d0 00000000000002df 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2ca 00000000000002ec 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 281 00000000000002f6 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 0 000000000000030d 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 1f0 0000000000000317 0000000a00000001 R_PPC64_ADDR32 0000000000000000 .debug_loc + 0 000000000000032f 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 10 0000000000000337 0000000c00000001 R_PPC64_ADDR32 0000000000000000 .debug_ranges + 0 0000000000000348 0000000700000026 R_PPC64_ADDR64 0000000000000000 .rodata.str1.8 + 0 000000000000035d 0000000a00000001 R_PPC64_ADDR32 0000000000000000 .debug_loc + 4c 0000000000000362 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 44 000000000000037a 0000000700000026 R_PPC64_ADDR64 0000000000000000 .rodata.str1.8 + 0 0000000000000396 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 44 00000000000003b3 0000000700000026 R_PPC64_ADDR64 0000000000000000 .rodata.str1.8 + 8 00000000000003bd 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 64 00000000000003ce 0000001200000026 R_PPC64_ADDR64 0000000000000000 announcement + 0 00000000000003e1 0000000700000026 R_PPC64_ADDR64 0000000000000000 .rodata.str1.8 + 8 00000000000003f1 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 94 0000000000000410 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 27c 000000000000041a 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 0 0000000000000431 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 111 000000000000043b 0000000a00000001 R_PPC64_ADDR32 0000000000000000 .debug_loc + 98 0000000000000440 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + ae 000000000000044a 0000000a00000001 R_PPC64_ADDR32 0000000000000000 .debug_loc + d1 000000000000044f 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 1c 0000000000000463 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 305 000000000000046e 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 35d 0000000000000479 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 24b 000000000000047f 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + e8 000000000000049d 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 0 00000000000004b8 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 344 Relocation section '.rela.debug_loc' at offset 0x22c0 contains 20 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000000 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 8 0000000000000008 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 3c 0000000000000013 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 3c 000000000000001b 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 43 0000000000000026 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 43 000000000000002e 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + a0 000000000000004c 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 38 0000000000000054 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 84 000000000000005f 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 84 0000000000000067 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 8c 0000000000000075 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 8c 000000000000007d 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + a0 0000000000000098 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 8 00000000000000a0 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 10 00000000000000ab 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 10 00000000000000b3 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 48 00000000000000d1 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 8 00000000000000d9 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 1b 00000000000000e4 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 1b 00000000000000ec 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 48 Relocation section '.rela.debug_aranges' at offset 0x24a0 contains 3 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000006 0000000800000001 R_PPC64_ADDR32 0000000000000000 .debug_info + 0 0000000000000010 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 0 0000000000000020 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 0 Relocation section '.rela.debug_ranges' at offset 0x24e8 contains 12 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000000 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 10 0000000000000008 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 14 0000000000000010 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 18 0000000000000018 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 20 0000000000000020 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 28 0000000000000028 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 2c 0000000000000030 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 38 0000000000000038 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 44 0000000000000050 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 0 0000000000000058 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + a0 0000000000000060 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 0 0000000000000068 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 48 Relocation section '.rela.debug_line' at offset 0x2608 contains 2 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 00000000000000d6 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 0 0000000000000115 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 0 Relocation section '.rela.debug_frame' at offset 0x2638 contains 4 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000014 0000001000000001 R_PPC64_ADDR32 0000000000000000 .debug_frame + 0 0000000000000018 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 0 0000000000000044 0000001000000001 R_PPC64_ADDR32 0000000000000000 .debug_frame + 0 0000000000000048 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 0 Symbol table '.symtab' contains 24 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello.c 2: 0000000000000000 0 SECTION LOCAL DEFAULT 1 3: 0000000000000000 0 SECTION LOCAL DEFAULT 3 4: 0000000000000000 0 SECTION LOCAL DEFAULT 4 5: 0000000000000000 0 SECTION LOCAL DEFAULT 5 6: 0000000000000000 0 SECTION LOCAL DEFAULT 6 7: 0000000000000000 0 SECTION LOCAL DEFAULT 8 8: 0000000000000000 0 SECTION LOCAL DEFAULT 9 9: 0000000000000000 0 SECTION LOCAL DEFAULT 11 10: 0000000000000000 0 SECTION LOCAL DEFAULT 12 11: 0000000000000000 0 SECTION LOCAL DEFAULT 14 12: 0000000000000000 0 SECTION LOCAL DEFAULT 16 13: 0000000000000000 0 SECTION LOCAL DEFAULT 18 14: 0000000000000000 0 SECTION LOCAL DEFAULT 20 15: 0000000000000000 0 SECTION LOCAL DEFAULT 22 16: 0000000000000000 0 SECTION LOCAL DEFAULT 23 17: 0000000000000000 0 SECTION LOCAL DEFAULT 21 18: 0000000000000000 160 FUNC GLOBAL DEFAULT [: 8] 1 announcement 19: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND .TOC. 20: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND snprintf 21: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __printf_chk 22: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __stack_chk_fail 23: 0000000000000000 72 FUNC GLOBAL DEFAULT [: 8] 6 main perl ../build-tree/hardening-check ../build-tree/wrapper-test-all.a ../build-tree/wrapper-test-all.a: Position Independent Executable: no, object archive (ignored) Stack protected: yes Fortify Source functions: yes (some protected functions found) Read-only relocations: no, non-ELF (ignored) Immediate binding: no, non-ELF (ignored) DEB_BUILD_HARDENING=0 ../build-tree/hardened-cc -B ../build-tree/ -c -o ../build-tree/wrapper-test-none.o hello.c /usr/bin/gcc-4.8 -B ../build-tree/ -c -o ../build-tree/wrapper-test-none.o hello.c ar r ../build-tree/wrapper-test-none.a ../build-tree/wrapper-test-none.o ar: creating ../build-tree/wrapper-test-none.a readelf -ldrsW ../build-tree/wrapper-test-none.a File: ../build-tree/wrapper-test-none.a(wrapper-test-none.o) There are no program headers in this file. Relocation section '.rela.text' at offset 0x6b0 contains 14 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000000 0000000a000000fc R_PPC64_REL16_HA 0000000000000000 .TOC. + 0 0000000000000004 0000000a000000fa R_PPC64_REL16_LO 0000000000000000 .TOC. + 4 0000000000000038 0000000600000032 R_PPC64_TOC16_HA 0000000000000000 .rodata + 0 000000000000003c 0000000600000030 R_PPC64_TOC16_LO 0000000000000000 .rodata + 0 0000000000000044 0000000b0000000a R_PPC64_REL24 0000000000000000 snprintf + 0 0000000000000050 0000000600000032 R_PPC64_TOC16_HA 0000000000000000 .rodata + 8 0000000000000054 0000000600000030 R_PPC64_TOC16_LO 0000000000000000 .rodata + 8 000000000000005c 0000000900000032 R_PPC64_TOC16_HA 0000000000000000 announcement + 0 0000000000000060 0000000900000030 R_PPC64_TOC16_LO 0000000000000000 announcement + 0 0000000000000064 0000000c0000000a R_PPC64_REL24 0000000000000000 printf + 0 000000000000008c 0000000d0000000a R_PPC64_REL24 0000000000000000 __stack_chk_fail + 0 00000000000000b4 0000000a000000fc R_PPC64_REL16_HA 0000000000000000 .TOC. + 0 00000000000000b8 0000000a000000fa R_PPC64_REL16_LO 0000000000000000 .TOC. + 4 00000000000000e8 000000090000000a R_PPC64_REL24 0000000000000000 announcement + 0 Symbol table '.symtab' contains 15 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello.c 2: 0000000000000000 0 SECTION LOCAL DEFAULT 1 3: 0000000000000000 0 SECTION LOCAL DEFAULT 3 4: 0000000000000000 0 SECTION LOCAL DEFAULT 4 5: 0000000000000000 0 SECTION LOCAL DEFAULT 5 6: 0000000000000000 0 SECTION LOCAL DEFAULT 6 7: 0000000000000000 0 SECTION LOCAL DEFAULT 8 8: 0000000000000000 0 SECTION LOCAL DEFAULT 7 9: 0000000000000000 180 FUNC GLOBAL DEFAULT [: 8] 1 announcement 10: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND .TOC. 11: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND snprintf 12: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND printf 13: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __stack_chk_fail 14: 00000000000000b4 116 FUNC GLOBAL DEFAULT [: 8] 1 main if perl ../build-tree/hardening-check ../build-tree/wrapper-test-none.a; then exit 1; fi ../build-tree/wrapper-test-none.a: Position Independent Executable: no, object archive (ignored) Stack protected: yes Fortify Source functions: no, only unprotected functions found! Read-only relocations: no, non-ELF (ignored) Immediate binding: no, non-ELF (ignored) make[3]: Leaving directory `/build/buildd/hardening-wrapper-2.5ubuntu1/tests' make -f Makefile.includes check make[3]: Entering directory `/build/buildd/hardening-wrapper-2.5ubuntu1/tests' # Compiler and linker options disabled. DEB_BUILD_HARDENING=0 cc -o ../build-tree/includes-test-stock hello.c readelf -ldrsW ../build-tree/includes-test-stock Elf file type is EXEC (Executable file) Entry point 0x10000480 There are 8 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align PHDR 0x000040 0x0000000010000040 0x0000000010000040 0x0001c0 0x0001c0 R E 0x8 INTERP 0x000200 0x0000000010000200 0x0000000010000200 0x000011 0x000011 R 0x1 [Requesting program interpreter: /lib64/ld64.so.2] LOAD 0x000000 0x0000000010000000 0x0000000010000000 0x00097c 0x00097c R E 0x10000 LOAD 0x000df8 0x0000000010010df8 0x0000000010010df8 0x000248 0x000280 RW 0x10000 DYNAMIC 0x000e10 0x0000000010010e10 0x0000000010010e10 0x0001f0 0x0001f0 RW 0x8 NOTE 0x000214 0x0000000010000214 0x0000000010000214 0x000044 0x000044 R 0x4 GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW 0x10 GNU_RELRO 0x000df8 0x0000000010010df8 0x0000000010010df8 0x000208 0x000208 R 0x1 Section to Segment mapping: Segment Sections... 00 01 .interp 02 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .text .fini .rodata .eh_frame 03 .init_array .fini_array .jcr .dynamic .data .got .plt .bss 04 .dynamic 05 .note.ABI-tag .note.gnu.build-id 06 07 .init_array .fini_array .jcr .dynamic Dynamic section at offset 0xe10 contains 26 entries: Tag Type Name/Value 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000c (INIT) 0x10000400 0x000000000000000d (FINI) 0x100008d0 0x0000000000000019 (INIT_ARRAY) 0x10010df8 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes) 0x000000000000001a (FINI_ARRAY) 0x10010e00 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes) 0x000000006ffffef5 (GNU_HASH) 0x10000258 0x0000000000000005 (STRTAB) 0x10000308 0x0000000000000006 (SYMTAB) 0x10000278 0x000000000000000a (STRSZ) 81 (bytes) 0x000000000000000b (SYMENT) 24 (bytes) 0x0000000000000015 (DEBUG) 0x0 0x0000000000000003 (PLTGOT) 0x10011040 0x0000000000000002 (PLTRELSZ) 96 (bytes) 0x0000000000000014 (PLTREL) RELA 0x0000000000000017 (JMPREL) 0x100003a0 0x0000000070000000 (PPC64_GLINK) 0x100008a0 0x0000000070000003 (PPC64_OPT) 0x0 0x0000000000000007 (RELA) 0x10000388 0x0000000000000008 (RELASZ) 24 (bytes) 0x0000000000000009 (RELAENT) 24 (bytes) 0x000000006ffffffe (VERNEED) 0x10000368 0x000000006fffffff (VERNEEDNUM) 1 0x000000006ffffff0 (VERSYM) 0x1000035a 0x0000000000000000 (NULL) 0x0 Relocation section '.rela.dyn' at offset 0x388 contains 1 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000010011018 0000000400000026 R_PPC64_ADDR64 0000000000000000 __gmon_start__ + 0 Relocation section '.rela.plt' at offset 0x3a0 contains 4 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000010011050 0000000100000015 R_PPC64_JMP_SLOT 0000000000000000 snprintf + 0 0000000010011058 0000000200000015 R_PPC64_JMP_SLOT 0000000000000000 __libc_start_main + 0 0000000010011060 0000000300000015 R_PPC64_JMP_SLOT 0000000000000000 __stack_chk_fail + 0 0000000010011068 0000000500000015 R_PPC64_JMP_SLOT 0000000000000000 printf + 0 Symbol table '.dynsym' contains 6 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000000 0 FUNC GLOBAL DEFAULT UND snprintf@GLIBC_2.17 (2) 2: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.17 (2) 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@GLIBC_2.17 (2) 4: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 5: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.17 (2) Symbol table '.symtab' contains 71 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000010000200 0 SECTION LOCAL DEFAULT 1 2: 0000000010000214 0 SECTION LOCAL DEFAULT 2 3: 0000000010000234 0 SECTION LOCAL DEFAULT 3 4: 0000000010000258 0 SECTION LOCAL DEFAULT 4 5: 0000000010000278 0 SECTION LOCAL DEFAULT 5 6: 0000000010000308 0 SECTION LOCAL DEFAULT 6 7: 000000001000035a 0 SECTION LOCAL DEFAULT 7 8: 0000000010000368 0 SECTION LOCAL DEFAULT 8 9: 0000000010000388 0 SECTION LOCAL DEFAULT 9 10: 00000000100003a0 0 SECTION LOCAL DEFAULT 10 11: 0000000010000400 0 SECTION LOCAL DEFAULT 11 12: 0000000010000440 0 SECTION LOCAL DEFAULT 12 13: 00000000100008d0 0 SECTION LOCAL DEFAULT 13 14: 00000000100008f8 0 SECTION LOCAL DEFAULT 14 15: 0000000010000938 0 SECTION LOCAL DEFAULT 15 16: 0000000010010df8 0 SECTION LOCAL DEFAULT 16 17: 0000000010010e00 0 SECTION LOCAL DEFAULT 17 18: 0000000010010e08 0 SECTION LOCAL DEFAULT 18 19: 0000000010010e10 0 SECTION LOCAL DEFAULT 19 20: 0000000010011000 0 SECTION LOCAL DEFAULT 20 21: 0000000010011010 0 SECTION LOCAL DEFAULT 21 22: 0000000010011040 0 SECTION LOCAL DEFAULT 22 23: 0000000010011070 0 SECTION LOCAL DEFAULT 23 24: 0000000000000000 0 SECTION LOCAL DEFAULT 24 25: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 26: 0000000010010e08 0 OBJECT LOCAL DEFAULT 18 __JCR_LIST__ 27: 00000000100004d0 0 FUNC LOCAL DEFAULT [: 8] 12 deregister_tm_clones 28: 0000000010000540 0 FUNC LOCAL DEFAULT [: 8] 12 register_tm_clones 29: 00000000100005b0 0 FUNC LOCAL DEFAULT [: 8] 12 __do_global_dtors_aux 30: 0000000010011070 1 OBJECT LOCAL DEFAULT 23 completed.8370 31: 0000000010010e00 0 OBJECT LOCAL DEFAULT 17 __do_global_dtors_aux_fini_array_entry 32: 0000000010000600 0 FUNC LOCAL DEFAULT [: 8] 12 frame_dummy 33: 0000000010010df8 0 OBJECT LOCAL DEFAULT 16 __frame_dummy_init_array_entry 34: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello.c 35: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 36: 0000000010000978 0 OBJECT LOCAL DEFAULT 15 __FRAME_END__ 37: 0000000010010e08 0 OBJECT LOCAL DEFAULT 18 __JCR_END__ 38: 0000000000000000 0 FILE LOCAL DEFAULT ABS 39: 0000000010000440 0 NOTYPE LOCAL DEFAULT 12 00000017.plt_call.__stack_chk_fail@@GLIBC_2.17 40: 0000000010000888 0 NOTYPE LOCAL DEFAULT 12 __glink_PLTresolve 41: 0000000010000450 0 NOTYPE LOCAL DEFAULT 12 00000017.plt_call.printf@@GLIBC_2.17 42: 0000000010010e00 0 NOTYPE LOCAL DEFAULT 16 __init_array_end 43: 0000000010000470 0 NOTYPE LOCAL DEFAULT 12 00000017.plt_call.__libc_start_main@@GLIBC_2.17 44: 0000000010010e10 0 OBJECT LOCAL DEFAULT 19 _DYNAMIC 45: 0000000010010df8 0 NOTYPE LOCAL DEFAULT 16 __init_array_start 46: 0000000010000460 0 NOTYPE LOCAL DEFAULT 12 00000017.plt_call.snprintf@@GLIBC_2.17 47: 0000000010019010 0 OBJECT LOCAL DEFAULT 21 .TOC. 48: 0000000010000870 16 FUNC GLOBAL DEFAULT 12 __libc_csu_fini 49: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable 50: 0000000010011000 0 NOTYPE WEAK DEFAULT 20 data_start 51: 0000000010011040 0 NOTYPE GLOBAL DEFAULT 21 _edata 52: 0000000000000000 0 FUNC GLOBAL DEFAULT UND snprintf@@GLIBC_2.17 53: 00000000100008d0 0 FUNC GLOBAL DEFAULT [: 8] 13 _fini 54: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_2.17 55: 0000000010011000 0 NOTYPE GLOBAL DEFAULT 20 __data_start 56: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@@GLIBC_2.17 57: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 58: 0000000010011008 0 OBJECT GLOBAL HIDDEN 20 __dso_handle 59: 0000000010000664 180 FUNC GLOBAL DEFAULT [: 8] 12 announcement 60: 0000000010000918 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used 61: 0000000010000790 212 FUNC GLOBAL DEFAULT [: 8] 12 __libc_csu_init 62: 0000000010011078 0 NOTYPE GLOBAL DEFAULT 23 _end 63: 0000000010000480 68 FUNC GLOBAL DEFAULT [: 8] 12 _start 64: 0000000010011040 0 NOTYPE GLOBAL DEFAULT 22 __bss_start 65: 0000000010000718 116 FUNC GLOBAL DEFAULT [: 8] 12 main 66: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses 67: 0000000010011010 0 OBJECT GLOBAL HIDDEN 21 __TMC_END__ 68: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable 69: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@@GLIBC_2.17 70: 0000000010000400 0 FUNC GLOBAL DEFAULT [: 8] 11 _init ../build-tree/includes-test-stock ../build-tree/includes-test-stock: ok (0x10000664) # Compiler options enabled. (linker is not wrapper) cc -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -o ../build-tree/includes-test-compiled hello.c readelf -ldrsW ../build-tree/includes-test-compiled Elf file type is DYN (Shared object file) Entry point 0x7b8 There are 8 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align PHDR 0x000040 0x0000000000000040 0x0000000000000040 0x0001c0 0x0001c0 R E 0x8 INTERP 0x000200 0x0000000000000200 0x0000000000000200 0x000011 0x000011 R 0x1 [Requesting program interpreter: /lib64/ld64.so.2] LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x000c2c 0x000c2c R E 0x10000 LOAD 0x000db8 0x0000000000010db8 0x0000000000010db8 0x000290 0x0002d0 RW 0x10000 DYNAMIC 0x000df0 0x0000000000010df0 0x0000000000010df0 0x000210 0x000210 RW 0x8 NOTE 0x000214 0x0000000000000214 0x0000000000000214 0x000044 0x000044 R 0x4 GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW 0x10 GNU_RELRO 0x000db8 0x0000000000010db8 0x0000000000010db8 0x000248 0x000248 R 0x1 Section to Segment mapping: Segment Sections... 00 01 .interp 02 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .text .fini .rodata .eh_frame 03 .init_array .fini_array .jcr .data.rel.ro .dynamic .data .got .plt .bss 04 .dynamic 05 .note.ABI-tag .note.gnu.build-id 06 07 .init_array .fini_array .jcr .data.rel.ro .dynamic Dynamic section at offset 0xdf0 contains 29 entries: Tag Type Name/Value 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000c (INIT) 0x6c8 0x000000000000000d (FINI) 0xba4 0x0000000000000019 (INIT_ARRAY) 0x10db8 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes) 0x000000000000001a (FINI_ARRAY) 0x10dc0 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes) 0x000000006ffffef5 (GNU_HASH) 0x258 0x0000000000000005 (STRTAB) 0x410 0x0000000000000006 (SYMTAB) 0x290 0x000000000000000a (STRSZ) 222 (bytes) 0x000000000000000b (SYMENT) 24 (bytes) 0x0000000000000015 (DEBUG) 0x0 0x0000000000000003 (PLTGOT) 0x11048 0x0000000000000002 (PLTRELSZ) 120 (bytes) 0x0000000000000014 (PLTREL) RELA 0x0000000000000017 (JMPREL) 0x650 0x0000000070000000 (PPC64_GLINK) 0xb70 0x0000000070000003 (PPC64_OPT) 0x0 0x0000000000000007 (RELA) 0x530 0x0000000000000008 (RELASZ) 288 (bytes) 0x0000000000000009 (RELAENT) 24 (bytes) 0x0000000000000018 (BIND_NOW) 0x000000006ffffffb (FLAGS_1) Flags: NOW 0x000000006ffffffe (VERNEED) 0x510 0x000000006fffffff (VERNEEDNUM) 1 0x000000006ffffff0 (VERSYM) 0x4ee 0x000000006ffffff9 (RELACOUNT) 7 0x0000000000000000 (NULL) 0x0 Relocation section '.rela.dyn' at offset 0x530 contains 12 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000010db8 0000000000000016 R_PPC64_RELATIVE 950 0000000000010dc0 0000000000000016 R_PPC64_RELATIVE 8e0 0000000000010dd8 0000000000000016 R_PPC64_RELATIVE 770 0000000000010de0 0000000000000016 R_PPC64_RELATIVE a60 0000000000010de8 0000000000000016 R_PPC64_RELATIVE b40 0000000000011008 0000000000000016 R_PPC64_RELATIVE 11008 0000000000011020 0000000000000016 R_PPC64_RELATIVE 10dd0 0000000000011018 0000000900000026 R_PPC64_ADDR64 0000000000000000 __gmon_start__ + 0 0000000000011028 0000000300000026 R_PPC64_ADDR64 0000000000000000 _ITM_deregisterTMCloneTable + 0 0000000000011030 0000000b00000026 R_PPC64_ADDR64 0000000000000000 _ITM_registerTMCloneTable + 0 0000000000011038 0000000400000026 R_PPC64_ADDR64 0000000000000000 __cxa_finalize + 0 0000000000011040 0000000a00000026 R_PPC64_ADDR64 0000000000000000 _Jv_RegisterClasses + 0 Relocation section '.rela.plt' at offset 0x650 contains 5 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000011058 0000000400000015 R_PPC64_JMP_SLOT 0000000000000000 __cxa_finalize + 0 0000000000011060 0000000500000015 R_PPC64_JMP_SLOT 0000000000000000 snprintf + 0 0000000000011068 0000000600000015 R_PPC64_JMP_SLOT 0000000000000000 __libc_start_main + 0 0000000000011070 0000000700000015 R_PPC64_JMP_SLOT 0000000000000000 __printf_chk + 0 0000000000011078 0000000800000015 R_PPC64_JMP_SLOT 0000000000000000 __stack_chk_fail + 0 Symbol table '.dynsym' contains 16 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000200 0 SECTION LOCAL DEFAULT 1 2: 0000000000010dc8 0 SECTION LOCAL DEFAULT 18 3: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable 4: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (2) 5: 0000000000000000 0 FUNC GLOBAL DEFAULT UND snprintf@GLIBC_2.17 (2) 6: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.17 (2) 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __printf_chk@GLIBC_2.17 (2) 8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@GLIBC_2.17 (2) 9: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 10: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses 11: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable 12: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 22 _edata 13: 0000000000011088 0 NOTYPE GLOBAL DEFAULT 24 _end 14: 0000000000000bc8 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used 15: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 23 __bss_start Symbol table '.symtab' contains 82 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000200 0 SECTION LOCAL DEFAULT 1 2: 0000000000000214 0 SECTION LOCAL DEFAULT 2 3: 0000000000000234 0 SECTION LOCAL DEFAULT 3 4: 0000000000000258 0 SECTION LOCAL DEFAULT 4 5: 0000000000000290 0 SECTION LOCAL DEFAULT 5 6: 0000000000000410 0 SECTION LOCAL DEFAULT 6 7: 00000000000004ee 0 SECTION LOCAL DEFAULT 7 8: 0000000000000510 0 SECTION LOCAL DEFAULT 8 9: 0000000000000530 0 SECTION LOCAL DEFAULT 9 10: 0000000000000650 0 SECTION LOCAL DEFAULT 10 11: 00000000000006c8 0 SECTION LOCAL DEFAULT 11 12: 0000000000000720 0 SECTION LOCAL DEFAULT 12 13: 0000000000000ba4 0 SECTION LOCAL DEFAULT 13 14: 0000000000000bc8 0 SECTION LOCAL DEFAULT 14 15: 0000000000000be8 0 SECTION LOCAL DEFAULT 15 16: 0000000000010db8 0 SECTION LOCAL DEFAULT 16 17: 0000000000010dc0 0 SECTION LOCAL DEFAULT 17 18: 0000000000010dc8 0 SECTION LOCAL DEFAULT 18 19: 0000000000010dd0 0 SECTION LOCAL DEFAULT 19 20: 0000000000010df0 0 SECTION LOCAL DEFAULT 20 21: 0000000000011000 0 SECTION LOCAL DEFAULT 21 22: 0000000000011010 0 SECTION LOCAL DEFAULT 22 23: 0000000000011048 0 SECTION LOCAL DEFAULT 23 24: 0000000000011080 0 SECTION LOCAL DEFAULT 24 25: 0000000000000000 0 SECTION LOCAL DEFAULT 25 26: 0000000000000000 0 SECTION LOCAL DEFAULT 26 27: 0000000000000000 0 SECTION LOCAL DEFAULT 27 28: 0000000000000000 0 SECTION LOCAL DEFAULT 28 29: 0000000000000000 0 SECTION LOCAL DEFAULT 29 30: 0000000000000000 0 SECTION LOCAL DEFAULT 30 31: 0000000000000000 0 SECTION LOCAL DEFAULT 31 32: 0000000000000000 0 SECTION LOCAL DEFAULT 32 33: 0000000000000000 0 SECTION LOCAL DEFAULT 33 34: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello.c 35: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 36: 0000000000010dc8 0 OBJECT LOCAL DEFAULT 18 __JCR_LIST__ 37: 0000000000000800 0 FUNC LOCAL DEFAULT [: 8] 12 deregister_tm_clones 38: 0000000000000870 0 FUNC LOCAL DEFAULT [: 8] 12 register_tm_clones 39: 00000000000008e0 0 FUNC LOCAL DEFAULT [: 8] 12 __do_global_dtors_aux 40: 0000000000011080 1 OBJECT LOCAL DEFAULT 24 completed.8370 41: 0000000000010dc0 0 OBJECT LOCAL DEFAULT 17 __do_global_dtors_aux_fini_array_entry 42: 0000000000000950 0 FUNC LOCAL DEFAULT [: 8] 12 frame_dummy 43: 0000000000010db8 0 OBJECT LOCAL DEFAULT 16 __frame_dummy_init_array_entry 44: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 45: 0000000000000c28 0 OBJECT LOCAL DEFAULT 15 __FRAME_END__ 46: 0000000000010dc8 0 OBJECT LOCAL DEFAULT 18 __JCR_END__ 47: 0000000000000000 0 FILE LOCAL DEFAULT ABS 48: 0000000000000740 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__stack_chk_fail@@GLIBC_2.17 49: 0000000000000750 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__libc_start_main@@GLIBC_2.17 50: 0000000000000b58 0 NOTYPE LOCAL DEFAULT 12 __glink_PLTresolve 51: 0000000000010dc0 0 NOTYPE LOCAL DEFAULT 16 __init_array_end 52: 0000000000011008 0 OBJECT LOCAL DEFAULT 21 __dso_handle 53: 0000000000000760 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.snprintf@@GLIBC_2.17 54: 0000000000000720 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__printf_chk@@GLIBC_2.17 55: 0000000000010df0 0 OBJECT LOCAL DEFAULT 20 _DYNAMIC 56: 0000000000010db8 0 NOTYPE LOCAL DEFAULT 16 __init_array_start 57: 0000000000011010 0 OBJECT LOCAL DEFAULT 22 __TMC_END__ 58: 0000000000019010 0 OBJECT LOCAL DEFAULT 22 .TOC. 59: 0000000000000730 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__cxa_finalize@@GLIBC_2.17 60: 0000000000000b40 16 FUNC GLOBAL DEFAULT 12 __libc_csu_fini 61: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable 62: 0000000000011000 0 NOTYPE WEAK DEFAULT 21 data_start 63: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@@GLIBC_2.17 64: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 22 _edata 65: 0000000000000000 0 FUNC GLOBAL DEFAULT UND snprintf@@GLIBC_2.17 66: 0000000000000ba4 0 FUNC GLOBAL DEFAULT [: 8] 13 _fini 67: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_2.17 68: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __printf_chk@@GLIBC_2.17 69: 0000000000011000 0 NOTYPE GLOBAL DEFAULT 21 __data_start 70: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@@GLIBC_2.17 71: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 72: 00000000000009c0 160 FUNC GLOBAL DEFAULT [: 8] 12 announcement 73: 0000000000000bc8 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used 74: 0000000000000a60 212 FUNC GLOBAL DEFAULT [: 8] 12 __libc_csu_init 75: 0000000000011088 0 NOTYPE GLOBAL DEFAULT 24 _end 76: 00000000000007b8 68 FUNC GLOBAL DEFAULT [: 8] 12 _start 77: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 23 __bss_start 78: 0000000000000770 72 FUNC GLOBAL DEFAULT [: 8] 12 main 79: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses 80: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable 81: 00000000000006c8 0 FUNC GLOBAL DEFAULT [: 8] 11 _init # Run twice to show off PIE, if available in kernel ../build-tree/includes-test-compiled ../build-tree/includes-test-compiled: ok (0x441629c0) ../build-tree/includes-test-compiled ../build-tree/includes-test-compiled: ok (0x2d9159c0) # Compiler and linker options enabled. cc -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -o ../build-tree/includes-test-linked hello.c readelf -ldrsW ../build-tree/includes-test-linked Elf file type is DYN (Shared object file) Entry point 0x7b8 There are 8 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align PHDR 0x000040 0x0000000000000040 0x0000000000000040 0x0001c0 0x0001c0 R E 0x8 INTERP 0x000200 0x0000000000000200 0x0000000000000200 0x000011 0x000011 R 0x1 [Requesting program interpreter: /lib64/ld64.so.2] LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x000c2c 0x000c2c R E 0x10000 LOAD 0x000db8 0x0000000000010db8 0x0000000000010db8 0x000290 0x0002d0 RW 0x10000 DYNAMIC 0x000df0 0x0000000000010df0 0x0000000000010df0 0x000210 0x000210 RW 0x8 NOTE 0x000214 0x0000000000000214 0x0000000000000214 0x000044 0x000044 R 0x4 GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW 0x10 GNU_RELRO 0x000db8 0x0000000000010db8 0x0000000000010db8 0x000248 0x000248 R 0x1 Section to Segment mapping: Segment Sections... 00 01 .interp 02 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .text .fini .rodata .eh_frame 03 .init_array .fini_array .jcr .data.rel.ro .dynamic .data .got .plt .bss 04 .dynamic 05 .note.ABI-tag .note.gnu.build-id 06 07 .init_array .fini_array .jcr .data.rel.ro .dynamic Dynamic section at offset 0xdf0 contains 29 entries: Tag Type Name/Value 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000c (INIT) 0x6c8 0x000000000000000d (FINI) 0xba4 0x0000000000000019 (INIT_ARRAY) 0x10db8 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes) 0x000000000000001a (FINI_ARRAY) 0x10dc0 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes) 0x000000006ffffef5 (GNU_HASH) 0x258 0x0000000000000005 (STRTAB) 0x410 0x0000000000000006 (SYMTAB) 0x290 0x000000000000000a (STRSZ) 222 (bytes) 0x000000000000000b (SYMENT) 24 (bytes) 0x0000000000000015 (DEBUG) 0x0 0x0000000000000003 (PLTGOT) 0x11048 0x0000000000000002 (PLTRELSZ) 120 (bytes) 0x0000000000000014 (PLTREL) RELA 0x0000000000000017 (JMPREL) 0x650 0x0000000070000000 (PPC64_GLINK) 0xb70 0x0000000070000003 (PPC64_OPT) 0x0 0x0000000000000007 (RELA) 0x530 0x0000000000000008 (RELASZ) 288 (bytes) 0x0000000000000009 (RELAENT) 24 (bytes) 0x0000000000000018 (BIND_NOW) 0x000000006ffffffb (FLAGS_1) Flags: NOW 0x000000006ffffffe (VERNEED) 0x510 0x000000006fffffff (VERNEEDNUM) 1 0x000000006ffffff0 (VERSYM) 0x4ee 0x000000006ffffff9 (RELACOUNT) 7 0x0000000000000000 (NULL) 0x0 Relocation section '.rela.dyn' at offset 0x530 contains 12 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000010db8 0000000000000016 R_PPC64_RELATIVE 950 0000000000010dc0 0000000000000016 R_PPC64_RELATIVE 8e0 0000000000010dd8 0000000000000016 R_PPC64_RELATIVE 770 0000000000010de0 0000000000000016 R_PPC64_RELATIVE a60 0000000000010de8 0000000000000016 R_PPC64_RELATIVE b40 0000000000011008 0000000000000016 R_PPC64_RELATIVE 11008 0000000000011020 0000000000000016 R_PPC64_RELATIVE 10dd0 0000000000011018 0000000900000026 R_PPC64_ADDR64 0000000000000000 __gmon_start__ + 0 0000000000011028 0000000300000026 R_PPC64_ADDR64 0000000000000000 _ITM_deregisterTMCloneTable + 0 0000000000011030 0000000b00000026 R_PPC64_ADDR64 0000000000000000 _ITM_registerTMCloneTable + 0 0000000000011038 0000000400000026 R_PPC64_ADDR64 0000000000000000 __cxa_finalize + 0 0000000000011040 0000000a00000026 R_PPC64_ADDR64 0000000000000000 _Jv_RegisterClasses + 0 Relocation section '.rela.plt' at offset 0x650 contains 5 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000011058 0000000400000015 R_PPC64_JMP_SLOT 0000000000000000 __cxa_finalize + 0 0000000000011060 0000000500000015 R_PPC64_JMP_SLOT 0000000000000000 snprintf + 0 0000000000011068 0000000600000015 R_PPC64_JMP_SLOT 0000000000000000 __libc_start_main + 0 0000000000011070 0000000700000015 R_PPC64_JMP_SLOT 0000000000000000 __printf_chk + 0 0000000000011078 0000000800000015 R_PPC64_JMP_SLOT 0000000000000000 __stack_chk_fail + 0 Symbol table '.dynsym' contains 16 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000200 0 SECTION LOCAL DEFAULT 1 2: 0000000000010dc8 0 SECTION LOCAL DEFAULT 18 3: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable 4: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (2) 5: 0000000000000000 0 FUNC GLOBAL DEFAULT UND snprintf@GLIBC_2.17 (2) 6: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.17 (2) 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __printf_chk@GLIBC_2.17 (2) 8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@GLIBC_2.17 (2) 9: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 10: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses 11: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable 12: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 22 _edata 13: 0000000000011088 0 NOTYPE GLOBAL DEFAULT 24 _end 14: 0000000000000bc8 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used 15: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 23 __bss_start Symbol table '.symtab' contains 82 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000200 0 SECTION LOCAL DEFAULT 1 2: 0000000000000214 0 SECTION LOCAL DEFAULT 2 3: 0000000000000234 0 SECTION LOCAL DEFAULT 3 4: 0000000000000258 0 SECTION LOCAL DEFAULT 4 5: 0000000000000290 0 SECTION LOCAL DEFAULT 5 6: 0000000000000410 0 SECTION LOCAL DEFAULT 6 7: 00000000000004ee 0 SECTION LOCAL DEFAULT 7 8: 0000000000000510 0 SECTION LOCAL DEFAULT 8 9: 0000000000000530 0 SECTION LOCAL DEFAULT 9 10: 0000000000000650 0 SECTION LOCAL DEFAULT 10 11: 00000000000006c8 0 SECTION LOCAL DEFAULT 11 12: 0000000000000720 0 SECTION LOCAL DEFAULT 12 13: 0000000000000ba4 0 SECTION LOCAL DEFAULT 13 14: 0000000000000bc8 0 SECTION LOCAL DEFAULT 14 15: 0000000000000be8 0 SECTION LOCAL DEFAULT 15 16: 0000000000010db8 0 SECTION LOCAL DEFAULT 16 17: 0000000000010dc0 0 SECTION LOCAL DEFAULT 17 18: 0000000000010dc8 0 SECTION LOCAL DEFAULT 18 19: 0000000000010dd0 0 SECTION LOCAL DEFAULT 19 20: 0000000000010df0 0 SECTION LOCAL DEFAULT 20 21: 0000000000011000 0 SECTION LOCAL DEFAULT 21 22: 0000000000011010 0 SECTION LOCAL DEFAULT 22 23: 0000000000011048 0 SECTION LOCAL DEFAULT 23 24: 0000000000011080 0 SECTION LOCAL DEFAULT 24 25: 0000000000000000 0 SECTION LOCAL DEFAULT 25 26: 0000000000000000 0 SECTION LOCAL DEFAULT 26 27: 0000000000000000 0 SECTION LOCAL DEFAULT 27 28: 0000000000000000 0 SECTION LOCAL DEFAULT 28 29: 0000000000000000 0 SECTION LOCAL DEFAULT 29 30: 0000000000000000 0 SECTION LOCAL DEFAULT 30 31: 0000000000000000 0 SECTION LOCAL DEFAULT 31 32: 0000000000000000 0 SECTION LOCAL DEFAULT 32 33: 0000000000000000 0 SECTION LOCAL DEFAULT 33 34: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello.c 35: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 36: 0000000000010dc8 0 OBJECT LOCAL DEFAULT 18 __JCR_LIST__ 37: 0000000000000800 0 FUNC LOCAL DEFAULT [: 8] 12 deregister_tm_clones 38: 0000000000000870 0 FUNC LOCAL DEFAULT [: 8] 12 register_tm_clones 39: 00000000000008e0 0 FUNC LOCAL DEFAULT [: 8] 12 __do_global_dtors_aux 40: 0000000000011080 1 OBJECT LOCAL DEFAULT 24 completed.8370 41: 0000000000010dc0 0 OBJECT LOCAL DEFAULT 17 __do_global_dtors_aux_fini_array_entry 42: 0000000000000950 0 FUNC LOCAL DEFAULT [: 8] 12 frame_dummy 43: 0000000000010db8 0 OBJECT LOCAL DEFAULT 16 __frame_dummy_init_array_entry 44: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 45: 0000000000000c28 0 OBJECT LOCAL DEFAULT 15 __FRAME_END__ 46: 0000000000010dc8 0 OBJECT LOCAL DEFAULT 18 __JCR_END__ 47: 0000000000000000 0 FILE LOCAL DEFAULT ABS 48: 0000000000000740 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__stack_chk_fail@@GLIBC_2.17 49: 0000000000000750 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__libc_start_main@@GLIBC_2.17 50: 0000000000000b58 0 NOTYPE LOCAL DEFAULT 12 __glink_PLTresolve 51: 0000000000010dc0 0 NOTYPE LOCAL DEFAULT 16 __init_array_end 52: 0000000000011008 0 OBJECT LOCAL DEFAULT 21 __dso_handle 53: 0000000000000760 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.snprintf@@GLIBC_2.17 54: 0000000000000720 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__printf_chk@@GLIBC_2.17 55: 0000000000010df0 0 OBJECT LOCAL DEFAULT 20 _DYNAMIC 56: 0000000000010db8 0 NOTYPE LOCAL DEFAULT 16 __init_array_start 57: 0000000000011010 0 OBJECT LOCAL DEFAULT 22 __TMC_END__ 58: 0000000000019010 0 OBJECT LOCAL DEFAULT 22 .TOC. 59: 0000000000000730 0 NOTYPE LOCAL DEFAULT 12 00000049.plt_call.__cxa_finalize@@GLIBC_2.17 60: 0000000000000b40 16 FUNC GLOBAL DEFAULT 12 __libc_csu_fini 61: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable 62: 0000000000011000 0 NOTYPE WEAK DEFAULT 21 data_start 63: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@@GLIBC_2.17 64: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 22 _edata 65: 0000000000000000 0 FUNC GLOBAL DEFAULT UND snprintf@@GLIBC_2.17 66: 0000000000000ba4 0 FUNC GLOBAL DEFAULT [: 8] 13 _fini 67: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_2.17 68: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __printf_chk@@GLIBC_2.17 69: 0000000000011000 0 NOTYPE GLOBAL DEFAULT 21 __data_start 70: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __stack_chk_fail@@GLIBC_2.17 71: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 72: 00000000000009c0 160 FUNC GLOBAL DEFAULT [: 8] 12 announcement 73: 0000000000000bc8 4 OBJECT GLOBAL DEFAULT 14 _IO_stdin_used 74: 0000000000000a60 212 FUNC GLOBAL DEFAULT [: 8] 12 __libc_csu_init 75: 0000000000011088 0 NOTYPE GLOBAL DEFAULT 24 _end 76: 00000000000007b8 68 FUNC GLOBAL DEFAULT [: 8] 12 _start 77: 0000000000011048 0 NOTYPE GLOBAL DEFAULT 23 __bss_start 78: 0000000000000770 72 FUNC GLOBAL DEFAULT [: 8] 12 main 79: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses 80: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable 81: 00000000000006c8 0 FUNC GLOBAL DEFAULT [: 8] 11 _init # Run twice to show off PIE, if available in kernel ../build-tree/includes-test-linked ../build-tree/includes-test-linked: ok (0x4472f9c0) ../build-tree/includes-test-linked ../build-tree/includes-test-linked: ok (0x59d599c0) # Check state of hardening features via check script perl ../build-tree/hardening-check ../build-tree/includes-test-linked ../build-tree/includes-test-linked: Position Independent Executable: yes Stack protected: yes Fortify Source functions: yes (some protected functions found) Read-only relocations: yes Immediate binding: yes # Manually check state of hardening features # Test PIE readelf -lW ../build-tree/includes-test-linked | grep '^Elf file type is DYN' Elf file type is DYN (Shared object file) # Test Stack Protector nm ../build-tree/includes-test-linked | egrep '__stack_chk_fail($|@@GLIBC)' 0000000000000740 t 00000049.plt_call.__stack_chk_fail@@GLIBC_2.17 U __stack_chk_fail@@GLIBC_2.17 # Test Fortify nm ../build-tree/includes-test-linked | egrep '__(sn)?printf_chk($|@@GLIBC)' 0000000000000720 t 00000049.plt_call.__printf_chk@@GLIBC_2.17 U __printf_chk@@GLIBC_2.17 # Test Format (no-op currently) # Test for RELRO readelf -lW ../build-tree/includes-test-linked | grep GNU_RELRO GNU_RELRO 0x000db8 0x0000000000010db8 0x0000000000010db8 0x000248 0x000248 R 0x1 # Test for BIND_NOW readelf -dW ../build-tree/includes-test-linked | grep BIND_NOW 0x0000000000000018 (BIND_NOW) # Build directly with -fPIC already defined cc -fPIC -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -o ../build-tree/includes-test-fPIC-direct hello.c ../build-tree/includes-test-fPIC-direct ../build-tree/includes-test-fPIC-direct: ok (0x36a989c0) # Build .o with -fPIC already defined cc -fPIC -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -o ../build-tree/includes-test-fPIC.o -c hello.c # Link .o with -fPIC already defined cc -fPIC -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -o ../build-tree/includes-test-fPIC ../build-tree/includes-test-fPIC.o ../build-tree/includes-test-fPIC ../build-tree/includes-test-fPIC: ok (0x5eb699c0) # Make sure build fails due to -Werror=format-security ! cc -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -o ../build-tree/includes-test-format-security format.c format.c: In function 'main': format.c:11:5: error: format not a string literal and no format arguments [-Werror=format-security] return fprintf(stderr, argv[0]); ^ cc1: some warnings being treated as errors # Make sure build succeeds with -Wno-format-security cc -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wno-format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -o ../build-tree/includes-test-format-security format.c # Make sure build stack-protects a small ssp buffer cc -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -o ../build-tree/includes-test-ssp-buffer-size-protect ssp-buffer-size-protect.c # Test Stack Protector nm ../build-tree/includes-test-ssp-buffer-size-protect | egrep '__stack_chk_fail($|@@GLIBC)' 0000000000000740 t 00000049.plt_call.__stack_chk_fail@@GLIBC_2.17 U __stack_chk_fail@@GLIBC_2.17 # Make sure build does not stack-protects a tiny ssp buffer cc -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -o ../build-tree/includes-test-ssp-buffer-size-skip ssp-buffer-size-skip.c # Test Stack Protector is correctly skipped ! nm ../build-tree/includes-test-ssp-buffer-size-skip | egrep '__stack_chk_fail($|@@GLIBC)' cc -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -c -o ../build-tree/includes-test-all.o hello.c ar r ../build-tree/includes-test-all.a ../build-tree/includes-test-all.o ar: creating ../build-tree/includes-test-all.a readelf -ldrsW ../build-tree/includes-test-all.a File: ../build-tree/includes-test-all.a(includes-test-all.o) There are no program headers in this file. Relocation section '.rela.text' at offset 0x1930 contains 11 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000000 00000013000000fc R_PPC64_REL16_HA 0000000000000000 .TOC. + 0 0000000000000004 00000013000000fa R_PPC64_REL16_LO 0000000000000000 .TOC. + 4 0000000000000010 0000000700000032 R_PPC64_TOC16_HA 0000000000000000 .rodata.str1.8 + 0 000000000000001c 0000000700000030 R_PPC64_TOC16_LO 0000000000000000 .rodata.str1.8 + 0 000000000000003c 000000140000000a R_PPC64_REL24 0000000000000000 snprintf + 0 0000000000000044 0000000700000032 R_PPC64_TOC16_HA 0000000000000000 .rodata.str1.8 + 8 0000000000000048 0000001200000032 R_PPC64_TOC16_HA 0000000000000000 announcement + 0 0000000000000050 0000000700000030 R_PPC64_TOC16_LO 0000000000000000 .rodata.str1.8 + 8 0000000000000058 0000001200000030 R_PPC64_TOC16_LO 0000000000000000 announcement + 0 000000000000005c 000000150000000a R_PPC64_REL24 0000000000000000 __printf_chk + 0 000000000000008c 000000160000000a R_PPC64_REL24 0000000000000000 __stack_chk_fail + 0 Relocation section '.rela.text.startup' at offset 0x1a38 contains 3 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000000 00000013000000fc R_PPC64_REL16_HA 0000000000000000 .TOC. + 0 0000000000000004 00000013000000fa R_PPC64_REL16_LO 0000000000000000 .TOC. + 4 0000000000000018 000000120000000a R_PPC64_REL24 0000000000000000 announcement + 0 Relocation section '.rela.debug_info' at offset 0x1a80 contains 88 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000006 0000000900000001 R_PPC64_ADDR32 0000000000000000 .debug_abbrev + 0 000000000000000c 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 122 0000000000000011 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 355 0000000000000015 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 7d 0000000000000019 0000000c00000001 R_PPC64_ADDR32 0000000000000000 .debug_ranges + 50 0000000000000025 0000000d00000001 R_PPC64_ADDR32 0000000000000000 .debug_line + 0 000000000000002a 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2d 0000000000000037 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 217 000000000000003e 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 103 0000000000000045 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2b7 000000000000004c 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 1f5 0000000000000053 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 116 000000000000005a 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 23 0000000000000068 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + c7 000000000000006d 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2ed 0000000000000078 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 229 0000000000000085 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 34 0000000000000094 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 277 0000000000000099 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + d 00000000000000a5 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 53 00000000000000b1 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 25e 00000000000000bd 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 70 00000000000000c9 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 319 00000000000000d5 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 233 00000000000000e1 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 45 00000000000000ed 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2d0 00000000000000fa 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 5a 0000000000000107 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 26b 0000000000000114 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 336 0000000000000121 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2f5 000000000000012e 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 16 000000000000013b 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 67 0000000000000148 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2e6 0000000000000155 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2de 0000000000000162 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 30b 000000000000016f 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + f7 000000000000017c 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + d7 0000000000000189 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 327 0000000000000196 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 20d 00000000000001a3 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + c1 00000000000001b0 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 3d 00000000000001bd 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 294 00000000000001ca 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 29b 00000000000001d7 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2a2 00000000000001e4 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2a9 00000000000001f1 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2b0 00000000000001fe 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 313 000000000000020b 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 242 0000000000000219 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 364 0000000000000220 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 202 000000000000022c 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 28e 0000000000000238 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + f1 0000000000000244 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + e3 0000000000000290 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + b3 0000000000000297 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 1d9 000000000000029c 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + e8 00000000000002c2 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2ca 00000000000002cf 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + d0 00000000000002df 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 2ca 00000000000002ec 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 281 00000000000002f6 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 0 000000000000030d 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 1f0 0000000000000317 0000000a00000001 R_PPC64_ADDR32 0000000000000000 .debug_loc + 0 000000000000032f 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 10 0000000000000337 0000000c00000001 R_PPC64_ADDR32 0000000000000000 .debug_ranges + 0 0000000000000348 0000000700000026 R_PPC64_ADDR64 0000000000000000 .rodata.str1.8 + 0 000000000000035d 0000000a00000001 R_PPC64_ADDR32 0000000000000000 .debug_loc + 4c 0000000000000362 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 44 000000000000037a 0000000700000026 R_PPC64_ADDR64 0000000000000000 .rodata.str1.8 + 0 0000000000000396 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 44 00000000000003b3 0000000700000026 R_PPC64_ADDR64 0000000000000000 .rodata.str1.8 + 8 00000000000003bd 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 64 00000000000003ce 0000001200000026 R_PPC64_ADDR64 0000000000000000 announcement + 0 00000000000003e1 0000000700000026 R_PPC64_ADDR64 0000000000000000 .rodata.str1.8 + 8 00000000000003f1 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 94 0000000000000410 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 27c 000000000000041a 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 0 0000000000000431 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 111 000000000000043b 0000000a00000001 R_PPC64_ADDR32 0000000000000000 .debug_loc + 98 0000000000000440 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + ae 000000000000044a 0000000a00000001 R_PPC64_ADDR32 0000000000000000 .debug_loc + d1 000000000000044f 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 1c 0000000000000463 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 305 000000000000046e 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 35d 0000000000000479 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 24b 000000000000047f 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + e8 000000000000049d 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 0 00000000000004b8 0000000e00000001 R_PPC64_ADDR32 0000000000000000 .debug_str + 344 Relocation section '.rela.debug_loc' at offset 0x22c0 contains 20 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000000 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 8 0000000000000008 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 3c 0000000000000013 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 3c 000000000000001b 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 43 0000000000000026 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 43 000000000000002e 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + a0 000000000000004c 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 38 0000000000000054 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 84 000000000000005f 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 84 0000000000000067 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 8c 0000000000000075 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 8c 000000000000007d 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + a0 0000000000000098 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 8 00000000000000a0 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 10 00000000000000ab 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 10 00000000000000b3 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 48 00000000000000d1 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 8 00000000000000d9 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 1b 00000000000000e4 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 1b 00000000000000ec 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 48 Relocation section '.rela.debug_aranges' at offset 0x24a0 contains 3 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000006 0000000800000001 R_PPC64_ADDR32 0000000000000000 .debug_info + 0 0000000000000010 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 0 0000000000000020 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 0 Relocation section '.rela.debug_ranges' at offset 0x24e8 contains 12 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000000 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 10 0000000000000008 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 14 0000000000000010 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 18 0000000000000018 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 20 0000000000000020 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 28 0000000000000028 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 2c 0000000000000030 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 38 0000000000000038 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 44 0000000000000050 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 0 0000000000000058 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + a0 0000000000000060 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 0 0000000000000068 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 48 Relocation section '.rela.debug_line' at offset 0x2608 contains 2 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 00000000000000d6 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 0 0000000000000115 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 0 Relocation section '.rela.debug_frame' at offset 0x2638 contains 4 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000014 0000001000000001 R_PPC64_ADDR32 0000000000000000 .debug_frame + 0 0000000000000018 0000000200000026 R_PPC64_ADDR64 0000000000000000 .text + 0 0000000000000044 0000001000000001 R_PPC64_ADDR32 0000000000000000 .debug_frame + 0 0000000000000048 0000000600000026 R_PPC64_ADDR64 0000000000000000 .text.startup + 0 Symbol table '.symtab' contains 24 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello.c 2: 0000000000000000 0 SECTION LOCAL DEFAULT 1 3: 0000000000000000 0 SECTION LOCAL DEFAULT 3 4: 0000000000000000 0 SECTION LOCAL DEFAULT 4 5: 0000000000000000 0 SECTION LOCAL DEFAULT 5 6: 0000000000000000 0 SECTION LOCAL DEFAULT 6 7: 0000000000000000 0 SECTION LOCAL DEFAULT 8 8: 0000000000000000 0 SECTION LOCAL DEFAULT 9 9: 0000000000000000 0 SECTION LOCAL DEFAULT 11 10: 0000000000000000 0 SECTION LOCAL DEFAULT 12 11: 0000000000000000 0 SECTION LOCAL DEFAULT 14 12: 0000000000000000 0 SECTION LOCAL DEFAULT 16 13: 0000000000000000 0 SECTION LOCAL DEFAULT 18 14: 0000000000000000 0 SECTION LOCAL DEFAULT 20 15: 0000000000000000 0 SECTION LOCAL DEFAULT 22 16: 0000000000000000 0 SECTION LOCAL DEFAULT 23 17: 0000000000000000 0 SECTION LOCAL DEFAULT 21 18: 0000000000000000 160 FUNC GLOBAL DEFAULT [: 8] 1 announcement 19: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND .TOC. 20: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND snprintf 21: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __printf_chk 22: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __stack_chk_fail 23: 0000000000000000 72 FUNC GLOBAL DEFAULT [: 8] 6 main perl ../build-tree/hardening-check ../build-tree/includes-test-all.a ../build-tree/includes-test-all.a: Position Independent Executable: no, object archive (ignored) Stack protected: yes Fortify Source functions: yes (some protected functions found) Read-only relocations: no, non-ELF (ignored) Immediate binding: no, non-ELF (ignored) DEB_BUILD_HARDENING=0 cc -c -o ../build-tree/includes-test-none.o hello.c ar r ../build-tree/includes-test-none.a ../build-tree/includes-test-none.o ar: creating ../build-tree/includes-test-none.a readelf -ldrsW ../build-tree/includes-test-none.a File: ../build-tree/includes-test-none.a(includes-test-none.o) There are no program headers in this file. Relocation section '.rela.text' at offset 0x6b0 contains 14 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000000 0000000a000000fc R_PPC64_REL16_HA 0000000000000000 .TOC. + 0 0000000000000004 0000000a000000fa R_PPC64_REL16_LO 0000000000000000 .TOC. + 4 0000000000000038 0000000600000032 R_PPC64_TOC16_HA 0000000000000000 .rodata + 0 000000000000003c 0000000600000030 R_PPC64_TOC16_LO 0000000000000000 .rodata + 0 0000000000000044 0000000b0000000a R_PPC64_REL24 0000000000000000 snprintf + 0 0000000000000050 0000000600000032 R_PPC64_TOC16_HA 0000000000000000 .rodata + 8 0000000000000054 0000000600000030 R_PPC64_TOC16_LO 0000000000000000 .rodata + 8 000000000000005c 0000000900000032 R_PPC64_TOC16_HA 0000000000000000 announcement + 0 0000000000000060 0000000900000030 R_PPC64_TOC16_LO 0000000000000000 announcement + 0 0000000000000064 0000000c0000000a R_PPC64_REL24 0000000000000000 printf + 0 000000000000008c 0000000d0000000a R_PPC64_REL24 0000000000000000 __stack_chk_fail + 0 00000000000000b4 0000000a000000fc R_PPC64_REL16_HA 0000000000000000 .TOC. + 0 00000000000000b8 0000000a000000fa R_PPC64_REL16_LO 0000000000000000 .TOC. + 4 00000000000000e8 000000090000000a R_PPC64_REL24 0000000000000000 announcement + 0 Symbol table '.symtab' contains 15 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello.c 2: 0000000000000000 0 SECTION LOCAL DEFAULT 1 3: 0000000000000000 0 SECTION LOCAL DEFAULT 3 4: 0000000000000000 0 SECTION LOCAL DEFAULT 4 5: 0000000000000000 0 SECTION LOCAL DEFAULT 5 6: 0000000000000000 0 SECTION LOCAL DEFAULT 6 7: 0000000000000000 0 SECTION LOCAL DEFAULT 8 8: 0000000000000000 0 SECTION LOCAL DEFAULT 7 9: 0000000000000000 180 FUNC GLOBAL DEFAULT [: 8] 1 announcement 10: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND .TOC. 11: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND snprintf 12: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND printf 13: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND __stack_chk_fail 14: 00000000000000b4 116 FUNC GLOBAL DEFAULT [: 8] 1 main if perl ../build-tree/hardening-check ../build-tree/includes-test-none.a; then exit 1; fi ../build-tree/includes-test-none.a: Position Independent Executable: no, object archive (ignored) Stack protected: yes Fortify Source functions: no, only unprotected functions found! Read-only relocations: no, non-ELF (ignored) Immediate binding: no, non-ELF (ignored) # Disable PIE cc \ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 \ -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,relro -Wl,-z,now \ -o ../build-tree/includes-disabled hello.c if perl ../build-tree/hardening-check ../build-tree/includes-disabled; then exit 1; fi ../build-tree/includes-disabled: Position Independent Executable: no, normal executable! Stack protected: yes Fortify Source functions: yes (some protected functions found) Read-only relocations: yes Immediate binding: yes # Disable stack protector cc -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -fno-stack-protector -o ../build-tree/includes-disabled hello.c if perl ../build-tree/hardening-check ../build-tree/includes-disabled; then exit 1; fi ../build-tree/includes-disabled: Position Independent Executable: yes Stack protected: no, not found! Fortify Source functions: yes (some protected functions found) Read-only relocations: yes Immediate binding: yes # Disable fortify cc -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -U_FORTIFY_SOURCE -o ../build-tree/includes-disabled hello.c if perl ../build-tree/hardening-check ../build-tree/includes-disabled; then exit 1; fi ../build-tree/includes-disabled: Position Independent Executable: yes Stack protected: yes Fortify Source functions: no, only unprotected functions found! Read-only relocations: yes Immediate binding: yes # Disable relro cc -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,-z,norelro -o ../build-tree/includes-disabled hello.c if perl ../build-tree/hardening-check ../build-tree/includes-disabled; then exit 1; fi ../build-tree/includes-disabled: Position Independent Executable: yes Stack protected: yes Fortify Source functions: yes (some protected functions found) Read-only relocations: no, not found! Immediate binding: yes # Disable bindnow cc -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,-z,lazy -o ../build-tree/includes-disabled hello.c if perl ../build-tree/hardening-check ../build-tree/includes-disabled; then exit 1; fi ../build-tree/includes-disabled: Position Independent Executable: yes Stack protected: yes Fortify Source functions: yes (some protected functions found) Read-only relocations: yes Immediate binding: no, not found! # Disable everything cc \ -g -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 \ -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,relro -Wl,-z,now \ -fno-stack-protector \ -U_FORTIFY_SOURCE \ -Wno-format-security \ -Wl,-z,norelro \ -Wl,-z,lazy \ -o ../build-tree/includes-disabled hello.c if perl ../build-tree/hardening-check ../build-tree/includes-disabled; then exit 1; fi ../build-tree/includes-disabled: Position Independent Executable: no, normal executable! Stack protected: no, not found! Fortify Source functions: no, only unprotected functions found! Read-only relocations: no, not found! Immediate binding: no, not found! readelf -ldW ../build-tree/includes-disabled Elf file type is EXEC (Executable file) Entry point 0x10000458 There are 7 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align PHDR 0x000040 0x0000000010000040 0x0000000010000040 0x000188 0x000188 R E 0x8 INTERP 0x0001c8 0x00000000100001c8 0x00000000100001c8 0x000011 0x000011 R 0x1 [Requesting program interpreter: /lib64/ld64.so.2] LOAD 0x000000 0x0000000010000000 0x0000000010000000 0x000894 0x000894 R E 0x10000 LOAD 0x000898 0x0000000010010898 0x0000000010010898 0x000248 0x000278 RW 0x10000 DYNAMIC 0x0008b0 0x00000000100108b0 0x00000000100108b0 0x0001f0 0x0001f0 RW 0x8 NOTE 0x0001dc 0x00000000100001dc 0x00000000100001dc 0x000044 0x000044 R 0x4 GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW 0x10 Section to Segment mapping: Segment Sections... 00 01 .interp 02 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .text .fini .rodata .eh_frame 03 .init_array .fini_array .jcr .dynamic .data .got .plt .bss 04 .dynamic 05 .note.ABI-tag .note.gnu.build-id 06 Dynamic section at offset 0x8b0 contains 26 entries: Tag Type Name/Value 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x000000000000000c (INIT) 0x10000388 0x000000000000000d (FINI) 0x100007ec 0x0000000000000019 (INIT_ARRAY) 0x10010898 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes) 0x000000000000001a (FINI_ARRAY) 0x100108a0 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes) 0x000000006ffffef5 (GNU_HASH) 0x10000220 0x0000000000000005 (STRTAB) 0x100002b8 0x0000000000000006 (SYMTAB) 0x10000240 0x000000000000000a (STRSZ) 64 (bytes) 0x000000000000000b (SYMENT) 24 (bytes) 0x0000000000000015 (DEBUG) 0x0 0x0000000000000003 (PLTGOT) 0x10010ae0 0x0000000000000002 (PLTRELSZ) 72 (bytes) 0x0000000000000014 (PLTREL) RELA 0x0000000000000017 (JMPREL) 0x10000340 0x0000000070000000 (PPC64_GLINK) 0x100007c0 0x0000000070000003 (PPC64_OPT) 0x0 0x0000000000000007 (RELA) 0x10000328 0x0000000000000008 (RELASZ) 24 (bytes) 0x0000000000000009 (RELAENT) 24 (bytes) 0x000000006ffffffe (VERNEED) 0x10000308 0x000000006fffffff (VERNEEDNUM) 1 0x000000006ffffff0 (VERSYM) 0x100002f8 0x0000000000000000 (NULL) 0x0 make[3]: Leaving directory `/build/buildd/hardening-wrapper-2.5ubuntu1/tests' make[2]: Leaving directory `/build/buildd/hardening-wrapper-2.5ubuntu1/tests' make[1]: Leaving directory `/build/buildd/hardening-wrapper-2.5ubuntu1' /usr/bin/fakeroot debian/rules binary-arch dh binary-arch dh_testroot -a dh_prep -a dh_auto_install -a dh_install -a dh_installdocs -a dh_installchangelogs -a dh_installman -a dh_lintian -a dh_perl -a dh_link -a dh_compress -a dh_fixperms -a dh_strip -a dh_strip debug symbol extraction: not enabling -a because /CurrentlyBuilding exists dh_strip debug symbol extraction: all non-arch-all packages for this build platform ppc64el: hardening-wrapper dh_strip debug symbol extraction: packages to act on: hardening-wrapper dh_strip debug symbol extraction: ignored packages: Using buildid for compat level >= 9 hardening-wrapper has no unstripped objects, ignoring find: `/build/buildd/hardening-wrapper-2.5ubuntu1/debian/hardening-wrapper-dbgsym': No such file or directory /usr/bin/pkg_create_dbgsym: nothing in /build/buildd/hardening-wrapper-2.5ubuntu1/debian/hardening-wrapper-dbgsym and no dbgdepends, ignoring dh_makeshlibs -a dh_shlibdeps -a dh_installdeb -a dh_gencontrol -a dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe dh_md5sums -a dh_builddeb -a INFO: pkgstriptranslations version 119 pkgstriptranslations: processing hardening-wrapper (in debian/hardening-wrapper); do_strip: 1, oemstrip: pkgstriptranslations: hardening-wrapper does not contain translations, skipping pkgstriptranslations: no translation files, not creating tarball pkgmaintainermangler: Maintainer field overridden to "Ubuntu Developers " pkgstripfiles: processing control file: debian/hardening-wrapper/DEBIAN/control, package hardening-wrapper, directory debian/hardening-wrapper pkgstripfiles: Truncating usr/share/doc/hardening-wrapper/changelog.gz to topmost ten records pkgstripfiles: PNG optimization for package hardening-wrapper took 0 s dpkg-deb: warning: 'debian/hardening-wrapper/DEBIAN/control' contains user-defined field 'Original-Maintainer' dpkg-deb: warning: ignoring 1 warning about the control file(s) dpkg-deb: building package `hardening-wrapper' in `../hardening-wrapper_2.5ubuntu1_ppc64el.deb'. dpkg-genchanges -B -mUbuntu Build Daemon >../hardening-wrapper_2.5ubuntu1_ppc64el.changes dpkg-genchanges: arch-specific upload - not including arch-independent packages dpkg-genchanges: binary-only upload - not including any source code dpkg-source --after-build hardening-wrapper-2.5ubuntu1 dpkg-buildpackage: binary only upload (no source included) ****************************************************************************** Build finished at 20140217-0845 chroot-autobuild/build/buildd/hardening-wrapper_2.5ubuntu1_ppc64el.deb: new debian package, version 2.0. size 10480 bytes: control archive=1475 bytes. 609 bytes, 15 lines control 834 bytes, 12 lines md5sums 838 bytes, 44 lines * postinst #!/bin/sh 419 bytes, 25 lines * postrm #!/bin/sh 434 bytes, 25 lines * preinst #!/bin/sh Package: hardening-wrapper Version: 2.5ubuntu1 Architecture: ppc64el Maintainer: Ubuntu Developers Original-Maintainer: Package Hardening Installed-Size: 72 Depends: gcc | g++, perl Section: devel Priority: optional Multi-Arch: foreign Homepage: http://wiki.debian.org/Hardening Description: Compiler wrapper to enable security hardening flags Replaces gcc, g++, and ld with wrapper scripts that set security hardening compilation flags, as an alternative to changing gcc specs. Enabled when DEB_BUILD_HARDENING=1 is set. chroot-autobuild/build/buildd/hardening-wrapper_2.5ubuntu1_ppc64el.deb: drwxr-xr-x root/root 0 2014-02-17 08:45 ./ drwxr-xr-x root/root 0 2014-02-17 08:45 ./usr/ drwxr-xr-x root/root 0 2014-02-17 08:45 ./usr/bin/ -rwxr-xr-x root/root 5663 2014-02-17 08:45 ./usr/bin/hardened-cc -rwxr-xr-x root/root 5665 2014-02-17 08:45 ./usr/bin/hardened-c++ -rwxr-xr-x root/root 3039 2014-02-17 08:45 ./usr/bin/hardened-ld drwxr-xr-x root/root 0 2014-02-17 08:45 ./usr/share/ drwxr-xr-x root/root 0 2014-02-17 08:45 ./usr/share/lintian/ drwxr-xr-x root/root 0 2014-02-17 08:45 ./usr/share/lintian/overrides/ -rw-r--r-- root/root 108 2012-03-31 17:39 ./usr/share/lintian/overrides/hardening-wrapper drwxr-xr-x root/root 0 2014-02-17 08:45 ./usr/share/man/ drwxr-xr-x root/root 0 2014-02-17 08:45 ./usr/share/man/man1/ -rw-r--r-- root/root 914 2014-02-17 08:45 ./usr/share/man/man1/hardened-c++.1.gz -rw-r--r-- root/root 734 2014-02-17 08:45 ./usr/share/man/man1/hardened-ld.1.gz -rw-r--r-- root/root 911 2014-02-17 08:45 ./usr/share/man/man1/hardened-cc.1.gz drwxr-xr-x root/root 0 2014-02-17 08:45 ./usr/share/doc/ drwxr-xr-x root/root 0 2014-02-17 08:45 ./usr/share/doc/hardening-wrapper/ -rw-r--r-- root/root 64 2011-07-03 16:12 ./usr/share/doc/hardening-wrapper/AUTHORS -rw-r--r-- root/root 1181 2012-03-31 16:48 ./usr/share/doc/hardening-wrapper/copyright -rw-r--r-- root/root 1568 2014-02-17 08:45 ./usr/share/doc/hardening-wrapper/changelog.gz -rw-r--r-- root/root 18 2011-07-03 16:12 ./usr/share/doc/hardening-wrapper/TODO -rw-r--r-- root/root 2951 2012-12-16 17:58 ./usr/share/doc/hardening-wrapper/README.Debian lrwxrwxrwx root/root 0 2014-02-17 08:45 ./usr/bin/g++-4.4 -> hardened-c++ lrwxrwxrwx root/root 0 2014-02-17 08:45 ./usr/bin/g++-4.8 -> hardened-c++ lrwxrwxrwx root/root 0 2014-02-17 08:45 ./usr/bin/ld.gold -> hardened-ld lrwxrwxrwx root/root 0 2014-02-17 08:45 ./usr/bin/gcc-4.8 -> hardened-cc lrwxrwxrwx root/root 0 2014-02-17 08:45 ./usr/bin/g++-4.9 -> hardened-c++ lrwxrwxrwx root/root 0 2014-02-17 08:45 ./usr/bin/ld.bfd -> hardened-ld lrwxrwxrwx root/root 0 2014-02-17 08:45 ./usr/bin/gcc-4.9 -> hardened-cc lrwxrwxrwx root/root 0 2014-02-17 08:45 ./usr/bin/g++-4.7 -> hardened-c++ lrwxrwxrwx root/root 0 2014-02-17 08:45 ./usr/bin/gcc-4.7 -> hardened-cc lrwxrwxrwx root/root 0 2014-02-17 08:45 ./usr/bin/gcc-4.4 -> hardened-cc lrwxrwxrwx root/root 0 2014-02-17 08:45 ./usr/bin/gcc-4.6 -> hardened-cc lrwxrwxrwx root/root 0 2014-02-17 08:45 ./usr/bin/g++-4.6 -> hardened-c++ lrwxrwxrwx root/root 0 2014-02-17 08:45 ./usr/share/man/man1/hardening-wrapper.1.gz -> hardened-cc.1.gz hardening-wrapper_2.5ubuntu1_ppc64el.changes: Format: 1.8 Date: Wed, 18 Dec 2013 12:36:36 +0100 Source: hardening-wrapper Binary: hardening-wrapper hardening-includes Architecture: ppc64el Version: 2.5ubuntu1 Distribution: trusty Urgency: medium Maintainer: Ubuntu Build Daemon Changed-By: Matthias Klose Description: hardening-includes - Makefile for enabling compiler flags for security hardening hardening-wrapper - Compiler wrapper to enable security hardening flags Changes: hardening-wrapper (2.5ubuntu1) trusty; urgency=medium . * Merge with Debian; remaining changes: - Don't install a symlink for gold on architectures not having a gold port. - Stop installing links for GCC 4.2, 4.3, 4.5. Checksums-Sha1: 23f9ba212aac19ee1a92547ec37d4644573d23fa 10480 hardening-wrapper_2.5ubuntu1_ppc64el.deb Checksums-Sha256: a42851d9ed3673ba8e050eb6675d47d68e4bfdb42b03fca3c288c875feeccfdd 10480 hardening-wrapper_2.5ubuntu1_ppc64el.deb Files: 9b2bd2eaa3c5f92791478c9519560826 10480 devel optional hardening-wrapper_2.5ubuntu1_ppc64el.deb ****************************************************************************** Built successfully ****************************************************************************** Finished at 20140217-0845 Build needed 00:00:09, 764k disk space RUN: /usr/share/launchpad-buildd/slavebin/scan-for-processes ['scan-for-processes', 'PACKAGEBUILD-5599365'] Scanning for processes to kill in build /home/buildd/build-PACKAGEBUILD-5599365/chroot-autobuild... RUN: /usr/share/launchpad-buildd/slavebin/umount-chroot ['umount-chroot', 'PACKAGEBUILD-5599365'] Unmounting chroot for build PACKAGEBUILD-5599365... RUN: /usr/share/launchpad-buildd/slavebin/remove-build ['remove-build', 'PACKAGEBUILD-5599365'] Removing build PACKAGEBUILD-5599365