summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* toolchain-glibc.eclass: add @SUPPORTED_EAPISMichał Górny2018-08-151-0/+1
|
* toolchain-glibc.eclass: remove git logicMarty E. Plummer2018-06-081-10/+1
| | | | | | | The git logic is handled in the live ebuild directly, and the only use of this eclass is in non-live ebuilds. In fact, the two newest non-live ebuilds do not make use of this eclass at all, and as far as I can see nowhere in the history of this file does it inherit git-2 at all.
* toolchain-glibc.eclass: fix glibc-headers bootstrap on non-multilib hostSergei Trofimovich2018-03-301-0/+8
| | | | | | | | | | | | | | | | | | | | | | | The error is found by wm_ attempting to build a cross-compiler CHOST=powerpc-unknown-linux-gnu CTARGET=mips64-unknown-linux-gnu Boostrap failed on glibc-headers (./configure phase) as: configure:2623: powerpc-unknown-linux-gnu-gcc -mabi=n32 -c -O1 -pipe -U_FORTIFY_SOURCE conftest.c >&5 powerpc-unknown-linux-gnu-gcc: error: unrecognized command line option '-mabi=n32'; did you mean '-mabi=d32'? Note how target's ABI is mexed into host's compiler flags. The error above happens on every host=non-multilib target=multilib combination. I've reproduced it on: CHOST=i686-pc-linux-gnu CTARGET=mips64-unknown-linux-gnu The fix is not to inject target's CFLAGS ABI into CC for USE=headers-only bootstrap step as we don't have cross-compiler yet. Tested by successfully bootstrapping cross-compiler on CHOST=i686-pc-linux-gnu CTARGET=mips64-unknown-linux-gnu Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain-glibc.eclass: log when eclass overrides CC/CFLAGSSergei Trofimovich2018-03-301-0/+2
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* eclass/toolchain-glibc.eclass: filter out rpath LDFLAGSBenda Xu2018-01-141-0/+1
| | | | glibc aborts if rpath is set.
* eclass/toolchain-glibc.eclass: fix double prefix.Benda Xu2018-01-081-2/+2
| | | | alt_build_headers already has EPREFIX.
* toolchain-glibc.eclass: Migrate CROSSCOMPILE_OPTS=headers-only -> ↵Sergei Trofimovich2018-01-071-1/+1
| | | | | | | | | | | | | | | | | | | USE=headers-only CROSSCOMPILE_OPTS is a USE_EXPAND of a single item: headers-only. Convert it to a global USE flag instead. Mechanical ebuild rename done as: $ sed -e 's@crosscompile_opts_headers-only@headers-only@g' \ -i $(git grep -l headers-only) 'headers-only' flag is used by crossdev to bootstrap stage1 compiler before libc is available. crossdev switched to USE=headers-only in =sys-devel/crossdev-20171230. Bug: https://bugs.gentoo.org/642712 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* sys-libs/glibc: enable IFUNC support only on whitelisted ARCHes, bug #641216Sergei Trofimovich2017-12-201-0/+11
| | | | | | | | | | | | | | | | We explicitly disable IFUNC support on the following targets: alpha/hppa/ia64/mips/m68k/nios2/riscv/sh to workaround weak IFUNC detection on binutils/glibc side. Otherwise at least on ia64 glibc generates IFUNC entries against compat librt.so.1 symbols (to redirect them back to libc.so.6) but linker does not produce correct relocations. As a result all IFUNC-backed functions don't work. Reported-by: Émeric Maschino Bug: https://sourceware.org/PR22634 Closes: https://bugs.gentoo.org/641216 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* sys-libs/glibc: disable stack protection by default on mips* targetsSergei Trofimovich2017-12-061-0/+5
| | | | | | | | | | | | | | | | | | | | | Otherwise dlopen() crashes (found on 'top' from 'procps' package). Original backtrace from qemu-mipsn32 (fails the same way on native host): ``` Program received signal SIGSEGV, Segmentation fault. 0x408cb908 in _dlerror_run (operate=operate@entry=0x408cadf0 <dlopen_doit>, args=args@entry=0x407feb28) at dlerror.c:163 163 result->errcode = _dl_catch_error (&result->objname, &result->errstring, (gdb) bt #0 0x408cb908 in _dlerror_run (operate=operate@entry=0x408cadf0 <dlopen_doit>, args=args@entry=0x407feb28) at dlerror.c:163 #1 0x408caf4c in __dlopen (file=file@entry=0x10012d58 "libnuma.so", mode=mode@entry=1) at dlopen.c:87 #2 0x1000306c in before (me=0x407ff382 "/usr/mips64-unknown-linux-gnu/usr/bin/top") at top/top.c:3308 #3 0x10001a10 in main (dont_care_argc=<optimized out>, argv=0x407ff1a4) at top/top.c:5721 ``` Reported-by: Matt Turner Bug: https://bugs.gentoo.org/640130 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* eclass/toolchain-glibc.eclass: prefixify etc/init.d/nscdBenda Xu2017-09-121-1/+1
| | | | | Credit: Martin Mokrejš Bug: 608234
* glibc: disable stack protector on ARCH=ppcSergei Trofimovich2017-09-101-1/+13
| | | | | | | | | | Currently gcc on powerpc32 generates invalid code for __builtin_return_address(0) calls. Normally programs don't do that but malloc() hooks in glibc do: Bug: https://gcc.gnu.org/PR81996 Bug: https://bugs.gentoo.org/629054 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain-glibc.eclass: Do not export any phases in EAPI=6. Well. Nearly.Andreas K. Hüttel2017-09-091-1/+8
|
* toolchain-glibc.eclass: remove special-casing of -freorder-blocks on ARCH=ppcSergei Trofimovich2017-08-261-3/+0
| | | | | | | -freorder-blocks is enabled by default on -O and upper. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Signed-off-by: Matthias Maier <tamiko@gentoo.org>
* toolchain-glibc.eclass: fix libm.so symlinking for live glibcSergei Trofimovich2017-08-081-2/+6
| | | | | | | | | | | | | | | The failure happens when live glibc-9999 ebuild is installed: * QA Notice: Missing gen_usr_ldscript for libm-2.26.90.so * ERROR: sys-libs/glibc-9999::gentoo failed: * add those ldscripts The problem here is how upstream glibc version is detected: dosym ../../$(get_libdir)/libm-${PV}.so $(alt_usrlibdir)/libm-${PV}.so Change to use 'version.h' to pick upstream version. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Signed-off-by: Matthias Maier <tamiko@gentoo.org>
* eclass/toolchain-glibc.eclass: skip pie check for gcc-6 or newerMatthias Maier2017-06-161-8/+14
| | | | | | | | | | | | For gcc-6 and newer the old logic in the toolchain-glibc eclass: if use hardened && gcc-specs-pie ; then append-cppflags -DPIC else filter-flags -fPIE fi is obsolete. Simply disable the check.
* eclass/toolchain-glibc.eclass: use tc-enables-pie instead of gcc-specs-pieMatthias Maier2017-06-161-2/+2
|
* toolchain-glibc.eclass: Always enable stack guard randomization (bug #621742).Arfrever Frehtes Taifersar Arahesis2017-06-161-1/+6
| | | | Signed-off-by: Matthias Maier <tamiko@gentoo.org>
* toolchain-glibc.eclass: Build most of >=sys-libs/glibc-2.25 with ↵Arfrever Frehtes Taifersar Arahesis2017-06-161-3/+14
| | | | | | | | | | -fstack-protector-all (bug #609048). configure accepts --enable-stack-protector=... option which results in build system passing appropriate -fstack-protector... option when possible. Signed-off-by: Matthias Maier <tamiko@gentoo.org>
* toolchain-glibc.eclass: Fix typos in comments.Arfrever Frehtes Taifersar Arahesis2017-06-031-5/+5
|
* toolchain-glibc.eclass: Replace evar_* with local variablesMichał Górny2017-04-141-3/+1
| | | | | | Use local variable to limit the scope of ABI variable override. This is a builtin bash solution that is reliable and simple, unlike the complex evar_* logic that unnecessarily pollutes global variables.
* sys-libs/glibc: [QA] Convert from eblits to eclass, #586422Michał Górny2017-03-241-0/+1404