Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 697428 - sys-libs/glibc-2.29-r2 : static libraries have all one object file with "no machine" instead of "ARM"
Summary: sys-libs/glibc-2.29-r2 : static libraries have all one object file with "no m...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
: 697544 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-10-10 16:40 UTC by Johannes Geiss
Modified: 2019-11-21 13:45 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Steps To Reproduce (file_697428.txt,440 bytes, text/plain)
2019-10-10 16:40 UTC, Johannes Geiss
Details
emerge --info (file_697428.txt,7.23 KB, text/plain)
2019-10-10 16:41 UTC, Johannes Geiss
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes Geiss 2019-10-10 16:40:00 UTC
Created attachment 592384 [details]
Steps To Reproduce

Building a cross development system with the current (2.29-r2) glibc produces unusable static libraries.
Comment 1 Johannes Geiss 2019-10-10 16:40:29 UTC
crossdev version 20190712.

The first compilation (shared) works, the second (static) does not.

Analysing /usr/$CT/lib/libc.a reveals one object file which is defect:

ar x libc.a
file *.o

Many objects show:
*.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped

But one has "no machine":

init-first.o: ELF 32-bit LSB relocatable, no machine, version 1 (SYSV), not stripped

I can call ebuild:

ebuild /usr/local/portage/cross-$CT/glibc/glibc-2.29-r2.ebuild install
and look for libc.a, I will find:
/var/tmp/portage/cross-armv7a-test-linux-gnueabi/glibc-2.29-r2/work/build-default-armv7a-test-linux-gnueabi-nptl/libc.a
/var/tmp/portage/cross-armv7a-test-linux-gnueabi/glibc-2.29-r2/image/usr/armv7a-test-linux-gnueabi/usr/lib/libc.a

The fist is OK, the second (in the image directory) is defective.
Comment 2 Johannes Geiss 2019-10-10 16:41:21 UTC
Created attachment 592386 [details]
emerge --info
Comment 3 Sergei Trofimovich (RETIRED) gentoo-dev 2019-10-10 19:00:19 UTC
This is likely a regression that came from https://gitweb.gentoo.org/repo/gentoo.git/commit/sys-libs/glibc?id=e14229b10b513a164f8379ff14cc8c644c071f27

As a workaround try to rebuild your cross-glibc with FEATURES=nostrip.
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2019-10-12 09:54:59 UTC
*** Bug 697544 has been marked as a duplicate of this bug. ***
Comment 5 Larry the Git Cow gentoo-dev 2019-10-14 06:58:12 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=650d70eb5d91265329e2f730bc1aed0fa5863db6

commit 650d70eb5d91265329e2f730bc1aed0fa5863db6
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2019-10-14 06:57:44 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2019-10-14 06:58:05 +0000

    sys-libs/glibc: disable stripping for cross-glibc
    
    commit e14229b10b513a164f8379ff14cc8c644c071f27 dropped
    special stripping and relied on standard ${CHOST}-strip.
    
    Unfortunately one special case wa missing:
    cross-*/glibc ebuilds use ${CTARGET} as a target and are
    installed into the host. That causes ${CHOST}-strip to be
    called on ${CTARGET} binaries. If multitarget is not enabled
    strip either breaks such bianries or makes them untouched.
    
    Disable tripping until we migrated off off cross-*/glibc ebuilds.
    
    Reported-by:  Johannes Geiss
    Closes: https://bugs.gentoo.org/697428
    Package-Manager: Portage-2.3.76, Repoman-2.3.17
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

 sys-libs/glibc/glibc-2.19-r2.ebuild  | 3 +++
 sys-libs/glibc/glibc-2.24-r4.ebuild  | 3 +++
 sys-libs/glibc/glibc-2.25-r11.ebuild | 3 +++
 sys-libs/glibc/glibc-2.26-r7.ebuild  | 3 +++
 sys-libs/glibc/glibc-2.27-r6.ebuild  | 3 +++
 sys-libs/glibc/glibc-2.28-r6.ebuild  | 3 +++
 sys-libs/glibc/glibc-2.29-r2.ebuild  | 3 +++
 sys-libs/glibc/glibc-2.29-r4.ebuild  | 3 +++
 sys-libs/glibc/glibc-2.29-r5.ebuild  | 3 +++
 sys-libs/glibc/glibc-2.30-r1.ebuild  | 3 +++
 sys-libs/glibc/glibc-2.30.ebuild     | 3 +++
 sys-libs/glibc/glibc-9999.ebuild     | 3 +++
 12 files changed, 36 insertions(+)