[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #53597] Cross-compilation fails on GNU/Linux with GNU libc 2.27
From: |
anonymous |
Subject: |
[bug #53597] Cross-compilation fails on GNU/Linux with GNU libc 2.27 |
Date: |
Mon, 9 Apr 2018 17:44:06 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36 |
URL:
<http://savannah.gnu.org/bugs/?53597>
Summary: Cross-compilation fails on GNU/Linux with GNU libc
2.27
Project: make
Submitted by: None
Submitted on: Mon 09 Apr 2018 09:44:05 PM UTC
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: 4.2.1
Operating System: POSIX-Based
Fixed Release: None
Triage Status: None
_______________________________________________________
Details:
I don't know whether this bug is triggered on all cross-compilation scenarios
(or indeed on native-compilation scenarios), because I haven't tried many.
However, when doing a armv7l-unknown-linux-gnueabihf to
x86_64-unknown-linux-gnu build using glibc 2.27, gcc 7.3.0, binutils 2.30, I
get a compilation error when linking libglob.a:
glob/libglob.a(glob.o): In function `glob':
glob.c:(.text+0x53a): undefined reference to `__alloca'
glob.c:(.text+0x75b): undefined reference to `__alloca'
glob.c:(.text+0x7fc): undefined reference to `__alloca'
glob.c:(.text+0x8de): undefined reference to `__alloca'
glob/libglob.a(glob.o): In function `glob_in_dir':
glob.c:(.text+0x1756): undefined reference to `__alloca'
glob/libglob.a(glob.o):glob.c:(.text+0x1831): more undefined references to
`__alloca' follow
collect2: error: ld returned 1 exit status
Makefile:655: recipe for target 'make' failed
make[2]: *** [make] Error 1
make[2]: Leaving directory '/media/random/ws/WS/build/make-4.2.1'
Makefile:798: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/media/random/ws/WS/build/make-4.2.1'
Makefile:534: recipe for target 'all' failed
make: *** [all] Error 2
This appears to be caused by a change in the preprocessor symbols that are
defined when using glibc 2.27. I'm able to work around it trivially by using
the attached patch, but I don't know if this is a good approach to correct the
issue.
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Mon 09 Apr 2018 09:44:05 PM UTC Name:
make-4.2.1-alloca-glibc-2.27-fix-1.patch Size: 381B By: None
<http://savannah.gnu.org/bugs/download.php?file_id=43860>
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?53597>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [bug #53597] Cross-compilation fails on GNU/Linux with GNU libc 2.27,
anonymous <=