Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/3] Misc toolchain fixes
@ 2013-10-29 20:53 Thomas Petazzoni
  2013-10-29 20:54 ` [Buildroot] [PATCH 1/3] toolchain-external: add missing symlink for Linaro toolchains Thomas Petazzoni
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2013-10-29 20:53 UTC (permalink / raw)
  To: buildroot

Hello,

Here is a small set of misc toolchain fixes: fix for Linaro toolchain
usage and comment, fix to install libthread_db in more cases (i.e when
gdb native is installed on the target).

Thomas

Thomas Petazzoni (3):
  toolchain-external: add missing symlink for Linaro toolchains
  toolchain-external: fix visibility and length of Linaro toolchain
    comment
  glibc, toolchain-external: copy libthread_db when gdb is enabled

 package/glibc/glibc.mk                             | 2 +-
 toolchain/toolchain-external/Config.in             | 5 ++---
 toolchain/toolchain-external/toolchain-external.mk | 7 ++++---
 3 files changed, 7 insertions(+), 7 deletions(-)

-- 
1.8.1.2

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/3] toolchain-external: add missing symlink for Linaro toolchains
  2013-10-29 20:53 [Buildroot] [PATCH 0/3] Misc toolchain fixes Thomas Petazzoni
@ 2013-10-29 20:54 ` Thomas Petazzoni
  2013-10-29 20:54 ` [Buildroot] [PATCH 2/3] toolchain-external: fix visibility and length of Linaro toolchain comment Thomas Petazzoni
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2013-10-29 20:54 UTC (permalink / raw)
  To: buildroot

In 11ec38b6950 ("toolchain-external: fix Linaro ARM toolchain
support"), we fixed the support for Linaro EABIhf toolchains by adding
a /lib/arm-linux-gnueabihf -> /lib symbolic link. This is needed
because the dynamic loader looks for libraries in
/lib/arm-linux-gnueabihf rather than the usual /lib, but Buildroot
installs all libraries in /lib.

However, we forgot that the dynamic loader also loads libraries from
/usr/lib/arm-linux-gnueabihf rather than /usr/lib, so this patch fixes
that by adding the necessary symbolic link.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reported-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 toolchain/toolchain-external/toolchain-external.mk | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
index d41cc7c..771f69a 100644
--- a/toolchain/toolchain-external/toolchain-external.mk
+++ b/toolchain/toolchain-external/toolchain-external.mk
@@ -222,10 +222,11 @@ TOOLCHAIN_EXTERNAL_WRAPPER_ARGS += -DBR_SOFTFLOAT=1
 endif
 
 # The Linaro ARMhf toolchain expects the libraries in
-# /lib/arm-linux-gnueabihf, but Buildroot copies them to /lib, so we
-# need to create a symbolic link.
+# {/usr,}/lib/arm-linux-gnueabihf, but Buildroot copies them to
+# {/usr,}/lib, so we need to create a symbolic link.
 define TOOLCHAIN_EXTERNAL_LINARO_ARMHF_SYMLINK
 	ln -sf . $(TARGET_DIR)/lib/arm-linux-gnueabihf
+	ln -sf . $(TARGET_DIR)/usr/lib/arm-linux-gnueabihf
 endef
 
 ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109),y)
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 2/3] toolchain-external: fix visibility and length of Linaro toolchain comment
  2013-10-29 20:53 [Buildroot] [PATCH 0/3] Misc toolchain fixes Thomas Petazzoni
  2013-10-29 20:54 ` [Buildroot] [PATCH 1/3] toolchain-external: add missing symlink for Linaro toolchains Thomas Petazzoni
@ 2013-10-29 20:54 ` Thomas Petazzoni
  2013-10-29 20:54 ` [Buildroot] [PATCH 3/3] glibc, toolchain-external: copy libthread_db when gdb is enabled Thomas Petazzoni
  2013-10-30 18:11 ` [Buildroot] [PATCH 0/3] Misc toolchain fixes Thomas Petazzoni
  3 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2013-10-29 20:54 UTC (permalink / raw)
  To: buildroot

Maxime Ripard reported that the Linaro toolchains were not visible
when selecting a Cortex-A, but forgetting to set the EABI to
EABIhf. While this is expected, Buildroot should normally should a
comment in this case. However, the comment is only visible when the
selected ARM architecture is not ARMv7 *and* the EABI is not
EABIhf. Instead, make the comment visible when either the selected
architecture is not ARMv7 *or* when the selected EABI is not EABIhf.

While we're at it, reword the comment text so that it actually fits
within the limits of the menuconfig screen.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reported-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 toolchain/toolchain-external/Config.in | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index 48b5865..ad35dc7 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -66,10 +66,9 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_07
 
 	  To use this toolchain, you must disable soft float usage.
 
-comment "Linaro toolchains available for Cortex-A{5,7,8,9,15} and the EABIhf ABI"
+comment "Linaro toolchains available for Cortex-A + EABIhf"
 	depends on BR2_arm
-	depends on BR2_GCC_TARGET_ARCH != "armv7-a"
-	depends on !BR2_ARM_EABIHF
+	depends on BR2_GCC_TARGET_ARCH != "armv7-a" || !BR2_ARM_EABIHF
 
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201305
 	bool "Sourcery CodeBench ARM 2013.05"
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 3/3] glibc, toolchain-external: copy libthread_db when gdb is enabled
  2013-10-29 20:53 [Buildroot] [PATCH 0/3] Misc toolchain fixes Thomas Petazzoni
  2013-10-29 20:54 ` [Buildroot] [PATCH 1/3] toolchain-external: add missing symlink for Linaro toolchains Thomas Petazzoni
  2013-10-29 20:54 ` [Buildroot] [PATCH 2/3] toolchain-external: fix visibility and length of Linaro toolchain comment Thomas Petazzoni
@ 2013-10-29 20:54 ` Thomas Petazzoni
  2013-10-30 18:11 ` [Buildroot] [PATCH 0/3] Misc toolchain fixes Thomas Petazzoni
  3 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2013-10-29 20:54 UTC (permalink / raw)
  To: buildroot

As Samuel Martin noticed, libthread_db is not only needed when
cross-gdb+gdbserver is used, but also when the native gdb is used on
the target. As a consequence, this patch modifies the glibc package
and the external toolchain logic to ensure that libthread_db is copied
to the target either when the native gdb or gdbserver is enabled, by
relying on the BR2_PACKAGE_GDB option, which is enabled when native
gdb and/or gdbserver are enabled.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/glibc/glibc.mk                             | 2 +-
 toolchain/toolchain-external/toolchain-external.mk | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk
index 0dab492..2e7fe82 100644
--- a/package/glibc/glibc.mk
+++ b/package/glibc/glibc.mk
@@ -116,7 +116,7 @@ GLIBC_LIBS_LIB = \
 	libnsl.so.* libpthread.so.* libresolv.so.* librt.so.* libutil.so.*   \
 	libnss_files.so.* libnss_dns.so.*
 
-ifeq ($(BR2_PACKAGE_GDB_SERVER),y)
+ifeq ($(BR2_PACKAGE_GDB),y)
 GLIBC_LIBS_LIB += libthread_db.so.*
 endif
 
diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
index 771f69a..9f53a34 100644
--- a/toolchain/toolchain-external/toolchain-external.mk
+++ b/toolchain/toolchain-external/toolchain-external.mk
@@ -63,7 +63,7 @@ LIB_EXTERNAL_LIBS+=ld*.so.*
 endif
 ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
 LIB_EXTERNAL_LIBS+=libpthread.so.*
-ifneq ($(BR2_PACKAGE_GDB_SERVER)$(BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY),)
+ifneq ($(BR2_PACKAGE_GDB)$(BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY),)
 LIB_EXTERNAL_LIBS+=libthread_db.so.*
 endif # gdbserver
 endif # ! no threads
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 0/3] Misc toolchain fixes
  2013-10-29 20:53 [Buildroot] [PATCH 0/3] Misc toolchain fixes Thomas Petazzoni
                   ` (2 preceding siblings ...)
  2013-10-29 20:54 ` [Buildroot] [PATCH 3/3] glibc, toolchain-external: copy libthread_db when gdb is enabled Thomas Petazzoni
@ 2013-10-30 18:11 ` Thomas Petazzoni
  3 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2013-10-30 18:11 UTC (permalink / raw)
  To: buildroot


On Tue, 29 Oct 2013 21:53:59 +0100, Thomas Petazzoni wrote:

> Here is a small set of misc toolchain fixes: fix for Linaro toolchain
> usage and comment, fix to install libthread_db in more cases (i.e when
> gdb native is installed on the target).
> 
> Thomas
> 
> Thomas Petazzoni (3):
>   toolchain-external: add missing symlink for Linaro toolchains
>   toolchain-external: fix visibility and length of Linaro toolchain
>     comment
>   glibc, toolchain-external: copy libthread_db when gdb is enabled

I have applied those three patches to for-peter-2013.11.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-10-30 18:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-29 20:53 [Buildroot] [PATCH 0/3] Misc toolchain fixes Thomas Petazzoni
2013-10-29 20:54 ` [Buildroot] [PATCH 1/3] toolchain-external: add missing symlink for Linaro toolchains Thomas Petazzoni
2013-10-29 20:54 ` [Buildroot] [PATCH 2/3] toolchain-external: fix visibility and length of Linaro toolchain comment Thomas Petazzoni
2013-10-29 20:54 ` [Buildroot] [PATCH 3/3] glibc, toolchain-external: copy libthread_db when gdb is enabled Thomas Petazzoni
2013-10-30 18:11 ` [Buildroot] [PATCH 0/3] Misc toolchain fixes Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox