commit: a6aac4bf276a0338c18fccd41d48ad7952f0a731 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> AuthorDate: Sat Mar 14 09:26:18 2020 +0000 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> CommitDate: Sat Mar 14 09:54:13 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a6aac4bf
sys-libs/glibc: add USE=static-pie to install rcrt1.o To add support for gcc's -static-pie flag glibc needs to provide a few runtile files like rcrt1.o. Let's install those when requested. Noticed when looked at static-pie failures in bug #712356. The change should not fix test failures, but will provide a way to easily sanity-check static-pie health with minimal test. Bug: https://bugs.gentoo.org/712356 Package-Manager: Portage-2.3.93, Repoman-2.3.20 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org> sys-libs/glibc/glibc-2.31-r1.ebuild | 6 ++++-- sys-libs/glibc/glibc-9999.ebuild | 3 ++- sys-libs/glibc/metadata.xml | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/sys-libs/glibc/glibc-2.31-r1.ebuild b/sys-libs/glibc/glibc-2.31-r1.ebuild index 14d8f5289a1..97ad95166d0 100644 --- a/sys-libs/glibc/glibc-2.31-r1.ebuild +++ b/sys-libs/glibc/glibc-2.31-r1.ebuild @@ -16,7 +16,8 @@ SLOT="2.2" EMULTILIB_PKG="true" if [[ ${PV} == 9999* ]]; then - EGIT_REPO_URI="https://sourceware.org/git/glibc.git" + # sourceware.org does not have https:// today. + EGIT_REPO_URI="git://sourceware.org/git/glibc.git" inherit git-r3 else # needs minimal testing @@ -35,7 +36,7 @@ PATCH_DEV=slyfox SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz" SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" -IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib nscd profile selinux +ssp +static-libs suid systemtap test vanilla" +IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib nscd profile selinux +ssp +static-libs static-pie suid systemtap test vanilla" # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" @@ -942,6 +943,7 @@ glibc_do_configure() { --with-pkgversion="$(glibc_banner)" $(use_enable crypt) $(use_multiarch || echo --disable-multi-arch) + $(use_enable static-pie) $(use_enable systemtap) $(use_enable nscd) ${EXTRA_ECONF} diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index 70a236147ae..0090072dba2 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -35,7 +35,7 @@ PATCH_VER=15 SRC_URI+=" https://dev.gentoo.org/~slyfox/distfiles/${P}-patches-${PATCH_VER}.tar.xz" SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" -IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib nscd profile selinux +ssp +static-libs suid systemtap test vanilla" +IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib nscd profile selinux +ssp +static-libs static-pie suid systemtap test vanilla" # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" @@ -942,6 +942,7 @@ glibc_do_configure() { --with-pkgversion="$(glibc_banner)" $(use_enable crypt) $(use_multiarch || echo --disable-multi-arch) + $(use_enable static-pie) $(use_enable systemtap) $(use_enable nscd) ${EXTRA_ECONF} diff --git a/sys-libs/glibc/metadata.xml b/sys-libs/glibc/metadata.xml index b00c5f56e58..6630fde73e7 100644 --- a/sys-libs/glibc/metadata.xml +++ b/sys-libs/glibc/metadata.xml @@ -15,6 +15,7 @@ <flag name="nscd">Build, and enable support for, the Name Service Cache Daemon</flag> <flag name="rpc">Enable obsolete RPC/NIS layers</flag> <flag name="ssp">protect stack of glibc internals</flag> + <flag name="static-pie">Enable static PIE support (runtime files for -static-pie gcc option).</flag> <flag name="suid">Make internal pt_chown helper setuid -- not needed if using Linux and have /dev/pts mounted with gid=5</flag> <flag name="systemtap">enable systemtap static probe points</flag> </use>
