Skip to contentSkip to conversation

New: When building directfb, BR2_TARGET_LDFLAGS not used by libtool

Buildroot bugzilla at busybox.net 2 participants 9 messages Oct 24, 2012 – Feb 12, 2014

lore
Share & tools
lore
#0 lore raw

https://bugs.busybox.net/show_bug.cgi?id=5624

Summary: When building directfb, BR2_TARGET_LDFLAGS not used by
libtool
Product: buildroot
Version: 2012.08
Platform: PC
OS/Version: Linux
Status: NEW
Severity: major
Priority: P5
Component: Other
AssignedTo: unassigned at buildroot.uclibc.org
ReportedBy: dunk_palmer at yahoo.com
CC: buildroot at uclibc.org
Estimated Hours: 0.0

Created attachment 4592
--> https://bugs.busybox.net/attachment.cgi?id=4592
Snippet of build output, showing incorrect linker invocation.

I'm using the CodeSourcery mips-4.4 toolchain, and have a little endian target, so I set BR2_TARGET_LDFLAGS="-EL" in my .config. Works fine for most things, however directfb fails to build; at one stage, it invokes the linker, without the -EL argument, and the link fails because the linker (which defaults to BE) is attempting to link LE object files.

Dodgy workaround is to replace output/host/usr/bin/mips-linux-gnu-ld with a script that contains:

#!/bin/sh
exec /opt/CodeSourcery/mips-4.4//bin/mips-linux-gnu-ld -EL $*

Relevant build output attached. The interesting parts of my .config are:

#
# Toolchain
#
# BR2_TOOLCHAIN_BUILDROOT is not set BR2_TOOLCHAIN_EXTERNAL=y
# BR2_TOOLCHAIN_CTNG is not set
# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201109 is not set # BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201103 is not set BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS44=y
# BR2_TOOLCHAIN_EXTERNAL_CUSTOM is not set
# BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD is not set BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y BR2_TOOLCHAIN_EXTERNAL_PATH="/opt/CodeSourcery/mips-4.4/" BR2_TOOLCHAIN_EXTERNAL_PREFIX="mips-linux-gnu" BR2_TOOLCHAIN_EXTERNAL_GLIBC=y

BR2_TARGET_OPTIMIZATION="-pipe -EL"
BR2_TARGET_LDFLAGS="-EL"

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#1 lore raw

[Buildroot] [Bug 5624] When building directfb, BR2_TARGET_LDFLAGS not used by libtool

https://bugs.busybox.net/show_bug.cgi?id=5624

--- Comment #1 from Thomas Petazzoni <[email protected]> 2012-10-24 12:32:25 UTC --- The first problem is that DirectFB is stupid in its usage of ld. It should
always use gcc, even for pure linking steps, as gcc will pass the appropriate arguments to ld.

The second problem is that we don't generate a toolchain wrapper for ld, so yes the BR2_TARGET_LDFLAGS are not passed.

I am not sure if we should fix DirectFB, or add the toolchain wrapper for ld.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#2 lore raw

[Buildroot] [Bug 5624] When building directfb, BR2_TARGET_LDFLAGS not used by libtool

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=5624

--- Comment #2 from Arnout Vandecappelle <[email protected]> 2012-10-24 21:04:41 UTC --- Would it help to pass LD="$(TARGET_LD) $(TARGET_LDFLAGS)" to configure?

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#3 lore raw

[Buildroot] [Bug 5624] When building directfb, BR2_TARGET_LDFLAGS not used by libtool

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=5624

--- Comment #3 from Thomas Petazzoni <[email protected]> 2012-10-24 22:00:00 UTC --- You mean globally (in package/Makefile.in) or specifically for this package?

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#4 lore raw

[Buildroot] [Bug 5624] When building directfb, BR2_TARGET_LDFLAGS not used by libtool

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=5624

--- Comment #4 from Duncan <[email protected]> 2012-10-25 09:09:17 UTC --- Created attachment 4598
--> https://bugs.busybox.net/attachment.cgi?id=4598
Change as suggested by Arnout.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#5 lore raw

[Buildroot] [Bug 5624] When building directfb, BR2_TARGET_LDFLAGS not used by libtool

Quoted 6 lines · bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=5624

--- Comment #4 from Duncan<[email protected]> 2012-10-25 09:09:17 UTC --- Created attachment 4598
--> https://bugs.busybox.net/attachment.cgi?id=4598
Change as suggested by Arnout.

Patch looks good. Should we ask to repost it on the list?

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#6 lore raw

[Buildroot] [Bug 5624] When building directfb, BR2_TARGET_LDFLAGS not used by libtool

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=5624

--- Comment #5 from Duncan <[email protected]> 2012-10-25 09:09:47 UTC --- Arnout, I've made the change you suggested to package/directfb/directfb.mk; now directfb, and all the other packages I have selected, are building for me. Patch against 2012.08 attached.

I'm not sure how many packages have the same problem as directfb; if there are a few, then I'd imagine that a more robust solution may be to create a toolchain wrapper for ld.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#7 lore raw

[Buildroot] [Bug 5624] When building directfb, BR2_TARGET_LDFLAGS not used by libtool

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=5624

--- Comment #6 from Jean-Mickael <[email protected]> 2012-10-26 06:56:14 UTC --- FYI I got similar issue with my LD not having the correct emulation (mips), and I opted to add it to LDFLAGS, "-melf64btsmip" for instance.
It fixes packages using LD directly, but a new problem appears: CC cannot recognize such LD specific option syntax, and some packages adds TARGET_LDFLAGS to CC.

So I would first clean-up TARGET_LDFLAGS usage before doing the LD wrapper (which sounds good idea).

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#8 lore raw

[Buildroot] [Bug 5624] When building directfb, BR2_TARGET_LDFLAGS not used by libtool

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=5624

Thomas De Schampheleire <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #7 from Thomas De Schampheleire <[email protected]> 2014-02-12 08:52:56 UTC --- This problem has been fixed with commit
7e9264956bb5693bc49274ee0b42ffb4c869e23f in buildroot 2013.11.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.