Skip to contentSkip to conversation

libunwind: fix architecture dependencies

PATCH New Thomas Petazzoni 2 participants 3 messages Aug 7, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 libunwind: fix architecture dependencies

Due to a misplaced parenthesis, the libunwind dependency were incorrect. Indeed, they were of the form:

default y if LIBC_TYPE && (arm dependency) || (list of other architectures)

Which meant that that the LIBC_TYPE dependency was not taken into account for the "other architectures". This commit changes that to:

default y if LIBC_TYPE && ((arm dependency) || list of other architectures)

Without this fix, libunwind can be selected for example on PowerPC/uClibc configurations, while only PowerPC/glibc should be allowed. This fixes:

http://autobuild.buildroot.net/results/96c53ff240dcd68fcc9e3d32c4026c9886edcbe7/

Similarly, it also fixes cases where SuperH/uClibc was allowed, while only SuperH/glibc should be allowed. This fixes:

http://autobuild.buildroot.net/results/95a6cca21aea9914ba8bb3f571760fc054c53ecd/

---
 package/libunwind/Config.in | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
package/libunwind/Config.in +6 -6
index a70d9e8..04ab5a5 100644
@@ -10,16 +10,16 @@
 config BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
 	bool
 	default y if BR2_TOOLCHAIN_USES_GLIBC && \
-		((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
-		(BR2_mips || BR2_mipsel || BR2_mips64 || \
+		(((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
+		 BR2_mips || BR2_mipsel || BR2_mips64 || \
 		 BR2_mips64el || BR2_powerpc || BR2_sh || BR2_sh64 || BR2_i386 || BR2_x86_64)
 	default y if BR2_TOOLCHAIN_USES_UCLIBC && \
-		((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
-		(BR2_i386 || BR2_mips || BR2_mipsel || \
+		(((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
+		 BR2_i386 || BR2_mips || BR2_mipsel || \
 		 BR2_mips64 || BR2_mips64el || BR2_x86_64)
 	default y if BR2_TOOLCHAIN_USES_MUSL && \
-		((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
-		(BR2_i386 || BR2_x86_64)
+		(((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
+		 BR2_i386 || BR2_x86_64)
 
 config BR2_PACKAGE_LIBUNWIND
 	bool "libunwind"
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/1 libunwind: fix architecture dependencies

Thomas, All,

On 2016-08-07 10:46 +0200, Thomas Petazzoni spake thusly:

Quoted 14 lines

Due to a misplaced parenthesis, the libunwind dependency were incorrect. Indeed, they were of the form:

default y if LIBC_TYPE && (arm dependency) || (list of other architectures)

Which meant that that the LIBC_TYPE dependency was not taken into account for the "other architectures". This commit changes that to:

default y if LIBC_TYPE && ((arm dependency) || list of other architectures)

Without this fix, libunwind can be selected for example on PowerPC/uClibc configurations, while only PowerPC/glibc should be allowed. This fixes:

Quoted 8 lines

http://autobuild.buildroot.net/results/96c53ff240dcd68fcc9e3d32c4026c9886edcbe7/

Similarly, it also fixes cases where SuperH/uClibc was allowed, while only SuperH/glibc should be allowed. This fixes:

http://autobuild.buildroot.net/results/95a6cca21aea9914ba8bb3f571760fc054c53ecd/

Regards,
Yann E. MORIN.

Quoted 38 lines
---
 package/libunwind/Config.in | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
package/libunwind/Config.in +6 -6
index a70d9e8..04ab5a5 100644
@@ -10,16 +10,16 @@
 config BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
 	bool
 	default y if BR2_TOOLCHAIN_USES_GLIBC && \
-		((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
-		(BR2_mips || BR2_mipsel || BR2_mips64 || \
+		(((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
+		 BR2_mips || BR2_mipsel || BR2_mips64 || \
 		 BR2_mips64el || BR2_powerpc || BR2_sh || BR2_sh64 || BR2_i386 || BR2_x86_64)
 	default y if BR2_TOOLCHAIN_USES_UCLIBC && \
-		((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
-		(BR2_i386 || BR2_mips || BR2_mipsel || \
+		(((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
+		 BR2_i386 || BR2_mips || BR2_mipsel || \
 		 BR2_mips64 || BR2_mips64el || BR2_x86_64)
 	default y if BR2_TOOLCHAIN_USES_MUSL && \
-		((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
-		(BR2_i386 || BR2_x86_64)
+		(((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
+		 BR2_i386 || BR2_x86_64)
 
 config BR2_PACKAGE_LIBUNWIND
 	bool "libunwind"
Signature · 6 lines
2.7.4

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
author Applied
#2 lore raw

PATCH 1/1 libunwind: fix architecture dependencies

In reply to Thomas Petazzoni

Hello,

Quoted 19 lines · Thomas Petazzoni

Due to a misplaced parenthesis, the libunwind dependency were incorrect. Indeed, they were of the form:

default y if LIBC_TYPE && (arm dependency) || (list of other architectures)

Which meant that that the LIBC_TYPE dependency was not taken into account for the "other architectures". This commit changes that to:

default y if LIBC_TYPE && ((arm dependency) || list of other architectures)

Without this fix, libunwind can be selected for example on PowerPC/uClibc configurations, while only PowerPC/glibc should be allowed. This fixes:

http://autobuild.buildroot.net/results/96c53ff240dcd68fcc9e3d32c4026c9886edcbe7/

Similarly, it also fixes cases where SuperH/uClibc was allowed, while only SuperH/glibc should be allowed. This fixes:

Quoted 6 lines

http://autobuild.buildroot.net/results/95a6cca21aea9914ba8bb3f571760fc054c53ecd/

---
 package/libunwind/Config.in | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Applied to master, thanks.

Thomas

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