* [Buildroot] uClibc fails to build with stack smash protection
@ 2013-09-16 14:25 Eric Le Bihan
2013-09-18 20:22 ` Thomas Petazzoni
0 siblings, 1 reply; 2+ messages in thread
From: Eric Le Bihan @ 2013-09-16 14:25 UTC (permalink / raw)
To: buildroot
Hi!
I can not build uclibc 0.9.33.2 when stack smashing protection is activated and
GCC 4.7.x is selected. The build fails as follow:
--8<--
[...]
STRIP -x -R .note -R .comment libc/libc_so.a
LD libuClibc-0.9.33.2.so
libc/libc_so.a(fnmatch.os):(.text+0xe0): undefined reference to `__stack_chk_guard'
collect2: error: ld returned 1 exit status
-->8--
If GCC 4.6.x is selected, everything is fine.
Commit 2babed4a50fcd050abc4686e05e24d0e374d10a8 introduces the following change
in package/uclibc/uclibc.mk:
--8<--
-# Before uClibc is built, we must have the second stage cross-compiler
-uclibc-build: host-gcc-intermediate
+# Before uClibc is built, we must have the second stage
+# cross-compiler, for some gcc versions, and when NPTL is used.
+uclibc-build: $(if $(BR2_TOOLCHAIN_NEEDS_THREE_STAGE_BUILD),host-gcc-intermediate)
-->8--
So, with GCC 4.6.x BR2_TOOLCHAIN_NEEDS_THREE_STAGE_BUILD is set to 'y' and the
dependency to host-gcc-intermediate is added, but not with GCC 4.7.x. Forcing
the dependency (as it was before) fixes the issue.
I attached my defconfig. Did anyone else experienced this problem?
-------------- next part --------------
BR2_x86_pentiumpro=y
BR2_ENABLE_SSP=y
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="3.10.7"
BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y
BR2_TOOLCHAIN_BUILDROOT_INET_RPC=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y
BR2_TARGET_GENERIC_GETTY_PORT="tty1"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.10.7"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux-3.10.config"
BR2_TARGET_ROOTFS_EXT2=y
# BR2_TARGET_ROOTFS_TAR is not set
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Buildroot] uClibc fails to build with stack smash protection
2013-09-16 14:25 [Buildroot] uClibc fails to build with stack smash protection Eric Le Bihan
@ 2013-09-18 20:22 ` Thomas Petazzoni
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2013-09-18 20:22 UTC (permalink / raw)
To: buildroot
Dear Eric Le Bihan,
On Mon, 16 Sep 2013 16:25:02 +0200, Eric Le Bihan wrote:
> I can not build uclibc 0.9.33.2 when stack smashing protection is activated and
> GCC 4.7.x is selected. The build fails as follow:
>
> --8<--
> [...]
> STRIP -x -R .note -R .comment libc/libc_so.a
> LD libuClibc-0.9.33.2.so
> libc/libc_so.a(fnmatch.os):(.text+0xe0): undefined reference to `__stack_chk_guard'
> collect2: error: ld returned 1 exit status
> -->8--
Hum, interesting, I am not reproducing the exact same problem (but I
was testing on ARM, with a slightly different defconfig). I believed
I've fixed the problem I was seeing. I've now started a build with your
defconfig, to see if I reproduce the same problem.
So, it's under investigation.
Best regards,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-09-18 20:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-16 14:25 [Buildroot] uClibc fails to build with stack smash protection Eric Le Bihan
2013-09-18 20:22 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox