Bug 1011415

Summary: Enable sysroot support
Product: [Fedora] Fedora Reporter: Marcin Juszkiewicz <mjuszkie>
Component: cross-gccAssignee: David Howells <dhowells>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dan, dhowells
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: cross-gcc-4.8.2-2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-17 13:29:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1011412    
Bug Blocks:    
Attachments:
Description Flags
spec patch none

Description Marcin Juszkiewicz 2013-09-24 08:49:41 UTC
Created attachment 802102 [details]
spec patch

Description of problem:

I am aware that cross-{binutils,gcc} are limited to be useful only for bootloader/kernel compilation as there is no userspace support in packages.

But they can also be used for userspace compilation when sysroot with libraries/headers is created.

Version-Release number of selected component (if applicable):

4.8.1-5.1

How reproducible:

always

Steps to Reproduce:
1. grab aarch64 system image
2. populate it with glibc-devel
3. mount at /mnt
4. aarch64-linux-gnu-gcc helloworld.c --sysroot /mnt -o hello-aarch64

Actual results:

"linker is not configured for sysroots"

Expected results:

links and gives proper binary

Additional info:

https://bugzilla.redhat.com/show_bug.cgi?id=1011412 was reported for cross-binutils.

Comment 1 David Howells 2014-03-28 09:24:37 UTC
+	--with-sysroot=/ \

This does not work correctly.  It mixes stuff from /usr/include (specifically gnu/stubs.h) into the foreign libgccs.

Also, this doesn't build on Fedora arm rawhide as this results in trying to access a non-existent file.

Comment 2 David Howells 2014-03-31 10:00:47 UTC
This should be dealt with in cross-gcc-4.8.2-2, which should be hitting updates-testing shortly.  Note that the default sysroot is /usr/<arch>/sys-root/ rather than / as the latter causes problems when compiling libgcc.