bug-make
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]