Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Grant Likely <grant.likely@secretlab.ca>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 3/9] Add support for multilib external toolchains
Date: Thu, 16 Oct 2008 14:32:30 -0600	[thread overview]
Message-ID: <20081016203230.15826.93873.stgit@localhost.localdomain> (raw)
In-Reply-To: <20081016203220.15826.26173.stgit@localhost.localdomain>

From: Grant Likely <grant.likely@secretlab.ca>

Fix buildroot to work with external toolchains using multilib.  Multilib
toolchains have several sets of libraries which they can choose between
depending on the optimization flags.  For example, a single toolchain
could have libraries compiled for both hard and soft floating point.
However, buildroot needs copy the correct version of the libraries to
match the flags used to compile the applications.

This patch adds the CPU optimization flags to the execution of GCC when
determining the location of the libraries to copy.  Passing the
optimization flags makes the library linking and copying consistent.

Tested using CodeSourcery PowerPC toolchain on a Xilinx Virtex5 ppc440
platform.
---

 toolchain/external-toolchain/ext-tool.mk |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)


diff --git a/toolchain/external-toolchain/ext-tool.mk b/toolchain/external-toolchain/ext-tool.mk
index bbf430c..ba10dc7 100644
--- a/toolchain/external-toolchain/ext-tool.mk
+++ b/toolchain/external-toolchain/ext-tool.mk
@@ -10,7 +10,8 @@ copy_toolchain_lib_root = \
 	DST="$(strip $2)"; \
 	STRIP="$(strip $3)"; \
  \
-	LIB_DIR=`$(TARGET_CC) -print-file-name=$${LIB} | sed -e "s,/$${LIB}\$$,,"`; \
+	LIB_DIR=`$(TARGET_CC) $(subst ",,$(BR2_TARGET_OPTIMIZATION)) -print-file-name=$${LIB} | sed -e "s,/$${LIB}\$$,,"`; \
+	MULTILIB=`$(TARGET_CC) $(subst ",,$(BR2_TARGET_OPTIMIZATION)) -print-multi-directory`; \
  \
 	if test -z "$${LIB_DIR}"; then \
 		echo "copy_toolchain_lib_root: lib=$${LIB} not found"; \
@@ -21,7 +22,7 @@ copy_toolchain_lib_root = \
 	for FILE in `find $${LIB_DIR} -maxdepth 1 -type l -name "$${LIB}*"`; do \
 		LIB=`basename $${FILE}`; \
 		while test \! -z "$${LIB}"; do \
-			echo "copy_toolchain_lib_root lib=$${LIB} dst=$${DST}"; \
+			echo "copy_toolchain_lib_root multilib=$${MULTILIB} lib=$${LIB} dst=$${DST}"; \
 			rm -fr $(TARGET_DIR)$${DST}/$${LIB}; \
 			mkdir -p $(TARGET_DIR)$${DST}; \
 			if test -h $${LIB_DIR}/$${LIB}; then \

  parent reply	other threads:[~2008-10-16 20:32 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-16 20:32 [Buildroot] [PATCH 1/9] Typo fix in toolchain/external-toolchain/ext-tool.mk Grant Likely
2008-10-16 20:32 ` [Buildroot] [PATCH 2/9] Fix link flags of mtdutils Grant Likely
2008-10-16 20:51   ` Thomas Petazzoni
2008-10-16 21:15     ` hartleys
2008-10-16 21:22       ` Bernhard Reutner-Fischer
2008-10-16 21:38       ` Thomas Petazzoni
2008-10-16 21:47         ` Thomas Petazzoni
2008-10-16 20:32 ` Grant Likely [this message]
2008-10-17 16:40   ` [Buildroot] [PATCH 3/9] Add support for multilib external toolchains Shinya Kuribayashi
2010-01-12 11:06   ` Thomas Petazzoni
2010-01-12 19:15     ` Grant Likely
2008-10-16 20:32 ` [Buildroot] [PATCH 4/9] Add Xilinx UARTLITE and MPC5200 PSC device files (serial ports) Grant Likely
2008-10-17 10:24   ` Peter Korsgaard
2008-10-16 20:32 ` [Buildroot] [PATCH 5/9] Refactor invocation of make for kernel compiles Grant Likely
2008-10-16 21:55   ` Markus Heidelberg
2008-10-16 23:03     ` Grant Likely
2008-10-16 20:32 ` [Buildroot] [PATCH 6/9] Ask the kernel source where it will install modules Grant Likely
2008-10-30  9:52   ` [Buildroot] [PATCH 6/9] Ask the kernel source where it will installmodules Hans-Christian Egtvedt
2008-10-30 11:57     ` Hans-Christian Egtvedt
2008-10-30 13:20   ` [Buildroot] [PATCH 6/9] Ask the kernel source where it will install modules Thomas Petazzoni
2008-10-30 13:23     ` Grant Likely
2008-10-30 13:44       ` Thomas Petazzoni
2008-10-30 13:27     ` Hans-Christian Egtvedt
2008-10-30 14:04     ` Hans-Christian Egtvedt
2008-10-16 20:32 ` [Buildroot] [PATCH 7/9] Add last resort setting of $(LINUX26_BINLOC) for kernel image filename Grant Likely
2008-10-16 20:32 ` [Buildroot] [PATCH 8/9] RFC: Remove HOSTCFLAGS from kernel compile Grant Likely
2008-10-16 21:09   ` Bernhard Reutner-Fischer
2008-10-16 23:11     ` Grant Likely
2008-10-16 20:33 ` [Buildroot] [PATCH 9/9] Add support for cloning Linux git trees Grant Likely
2008-10-16 21:14   ` Bernhard Reutner-Fischer
2008-10-16 23:09     ` Grant Likely
2008-10-17  7:38       ` Bernhard Reutner-Fischer
2008-10-17 10:20 ` [Buildroot] [PATCH 1/9] Typo fix in toolchain/external-toolchain/ext-tool.mk Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081016203230.15826.93873.stgit@localhost.localdomain \
    --to=grant.likely@secretlab.ca \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox