Make sure what we install is stripped (i.e., debug info is removed).


Make sure what we install is stripped (i.e., debug info is removed).

The straightforward way is setting INSTALL_TARGET to install-strip,
which is supported by the upstream GCC build machinery.

Unfortunately this fails when running as regular user (non-root)
since strip requires write permission to the files in question,
and we install binaries as r-xr-xr-x by default. To work around
that we need to set BINMODE to allow for write access by the user,
something that's common on GNU/Linux (which is why this probably
has not been noticed there). This is not necessary when running
as root.

(A different approach suggested was to set STRIP=true, alas that
leads to many files actually not being stripped. This is due to
GCC using its own script install-sh that in turn uses cp, chmod,
strip,... instead of our own install-* tools in many cases.)

According to tests by sobomax@ and me installs of lang/gcc6 went
down by about a fourth.

Reported by: Ports QA Framework, miwi, sobomax
Discussed with: tijl, miwi
Tested by: sobomax
Differential Revision: https://reviews.freebsd.org/D10357


geraldAuthored on
Differential Revision
D10357: lang/gcc fix build with poudriere bulk -t /testport
rP454176: Fix wrong ranges of affected PHP versions