* [Buildroot] [PATCH 1/1] Add support for x32 ABI for x86-64 target.
@ 2015-08-11 22:59 Guido Hatzsis
2015-08-19 22:49 ` sergey kostanbaev
0 siblings, 1 reply; 5+ messages in thread
From: Guido Hatzsis @ 2015-08-11 22:59 UTC (permalink / raw)
To: buildroot
x32 uses 32-bit pointers on the x84-64 linux target. The kernel needs
to have CONFIG_X86_X32 enabled. For more information see:
https://en.wikipedia.org/wiki/X32_ABI
Signed-off-by: Guido Hatzsis <Guido.Hatzsis@yandex.com>
---
arch/Config.in.x86 | 30 ++++++++++++++++++++++++++++++
package/Makefile.in | 5 +++++
package/glibc/Config.in | 2 ++
package/uclibc/Config.in | 1 +
toolchain/toolchain-buildroot/Config.in | 2 ++
5 files changed, 40 insertions(+)
diff --git a/arch/Config.in.x86 b/arch/Config.in.x86
index 43f6abc..a312df1 100644
--- a/arch/Config.in.x86
+++ b/arch/Config.in.x86
@@ -268,3 +268,33 @@ config BR2_GCC_TARGET_ARCH
default "c3" if BR2_x86_c3
default "c3-2" if BR2_x86_c32
default "geode" if BR2_x86_geode
+
+choice
+ prompt "Target ABI"
+ depends on BR2_x86_64
+ default BR2_X86_64_ABI_GCC
+ help
+ Application Binary Interface to use. The Application Binary
+ Interface describes the calling conventions (how arguments
+ are passed to functions, how the return value is passed, how
+ system calls are made, etc.).
+
+config BR2_X86_64_ABI_GNU
+ bool "gnu"
+ depends on BR2_x86_64
+ help
+ This is the gnu ABI for x86-64 which has 64-bits wide pointers.
+
+config BR2_X86_64_ABI_X32
+ bool "x32"
+ depends on BR2_x86_64
+ help
+ The X32 ABI is x86-64 with 32 bit pointers. It runs in x86-64 mode
+ but as it has 32-bit pointers only 4 GB of RAM can be addressed.
+ https://en.wikipedia.org/wiki/X32_ABI
+
+endchoice
+
+config BR2_GCC_TARGET_ABI
+ default "x32" if BR2_X86_64_ABI_X32
+
diff --git a/package/Makefile.in b/package/Makefile.in
index 545694f..db2c0f0 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -70,6 +70,11 @@ ABI := $(ABI)hf
endif
endif
+# Only set the ABI for x86-64 x32.
+ifeq ($(BR2_X86_64_ABI_X32),y)
+ABI = x32
+endif
+
# For FSL PowerPC there's SPE
ifeq ($(BR2_powerpc_SPE),y)
ABI = spe
diff --git a/package/glibc/Config.in b/package/glibc/Config.in
index 8cc8cce..a76f2c7 100644
--- a/package/glibc/Config.in
+++ b/package/glibc/Config.in
@@ -4,6 +4,7 @@ if BR2_TOOLCHAIN_BUILDROOT_EGLIBC
config BR2_PACKAGE_EGLIBC
bool
default y
+ depends on !BR2_X86_64_ABI_X32
choice
prompt "eglibc version"
@@ -29,6 +30,7 @@ if BR2_TOOLCHAIN_BUILDROOT_GLIBC
config BR2_PACKAGE_GLIBC
bool
default y
+ depends on !BR2_X86_64_ABI_X32
choice
prompt "glibc version"
diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
index bf40a13..b21a7fe 100644
--- a/package/uclibc/Config.in
+++ b/package/uclibc/Config.in
@@ -4,6 +4,7 @@ if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
config BR2_PACKAGE_UCLIBC
bool
default y
+ depends on !BR2_X86_64_ABI_X32
comment "uClibc Options"
diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in
index 13e2b15..828f753 100644
--- a/toolchain/toolchain-buildroot/Config.in
+++ b/toolchain/toolchain-buildroot/Config.in
@@ -34,6 +34,7 @@ config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
BR2_powerpc || BR2_sh2a || BR2_sh4 || BR2_sh4eb || \
BR2_sparc || BR2_xtensa || BR2_x86_64
+ depends on !BR2_X86_64_ABI_X32
help
This option selects uClibc as the C library for the
cross-compilation toolchain.
@@ -51,6 +52,7 @@ config BR2_TOOLCHAIN_BUILDROOT_EGLIBC
depends on BR2_USE_MMU
depends on !BR2_STATIC_LIBS
depends on BR2_DEPRECATED_SINCE_2015_08
+ depends on !BR2_X86_64_ABI_X32
select BR2_TOOLCHAIN_USES_GLIBC
# our eglibc.mk enables RPC support
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
--
2.5.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1] Add support for x32 ABI for x86-64 target.
2015-08-11 22:59 [Buildroot] [PATCH 1/1] Add support for x32 ABI for x86-64 target Guido Hatzsis
@ 2015-08-19 22:49 ` sergey kostanbaev
2015-08-20 11:44 ` Guido Hatzsis
2015-08-27 18:20 ` Waldemar Brodkorb
0 siblings, 2 replies; 5+ messages in thread
From: sergey kostanbaev @ 2015-08-19 22:49 UTC (permalink / raw)
To: buildroot
Hi Guido,
I tried your patch against buildroot-2015.05 and it fails during
compilation of glibc-2.21:
/home/serg/projects/buildroot-2015.05/output/host/usr/bin/x86_64-umsiteroot-linux-gnux32-gcc
mktime.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Werror -Winline
-Wno-error=undef -Wundef -Wwrite-strings -fmerge-all-constants
-frounding-math -Wstrict-prototypes -fPIC -I../include
-I/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build/time
-I/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build
-I../sysdeps/unix/sysv/linux/x86_64/x32 -I../sysdeps/x86_64/x32/nptl
-I../sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/x86
-I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/x86_64/nptl
-I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux
-I../sysdeps/nptl -I../sysdeps/pthread -I../sysdeps/gnu
-I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/x86_64
-I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/x86_64/x32
-I../sysdeps/x86_64/fpu/multiarch -I../sysdeps/x86_64/fpu
-I../sysdeps/x86/fpu/include -I../sysdeps/x86/fpu
-I../sysdeps/x86_64/multiarch -I../sysdeps/x86_64 -I../sysdeps/x86
-I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64/wordsize-64
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32
-I../sysdeps/wordsize-32 -I../sysdeps/ieee754 -I../sysdeps/generic -I..
-I../libio -I. -nostdinc -isystem
/home/serg/projects/buildroot-2015.05/output/host/usr/lib/gcc/x86_64-umsiteroot-linux-gnux32/4.9.2/include
-isystem
/home/serg/projects/buildroot-2015.05/output/host/usr/lib/gcc/x86_64-umsiteroot-linux-gnux32/4.9.2/include-fixed
-isystem
/home/serg/projects/buildroot-2015.05/output/host/usr/x86_64-umsiteroot-linux-gnux32/sysroot/usr/include
-D_LIBC_REENTRANT -include
/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build/libc-modules.h
-DMODULE_NAME=libc -include ../include/libc-symbols.h -DPIC -DSHARED
-o
/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build/time/mktime.os
-MD -MP -MF
/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build/time/mktime.os.dt
-MT
/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build/time/mktime.os
(echo '#include <dl-vdso.h>'; \
echo 'extern void *time_ifunc (void) __asm ("time");'; \
echo 'void *'; \
echo 'time_ifunc (void)'; \
echo '{'; \
echo ' PREPARE_VERSION_KNOWN (symver, LINUX_2_6);'; \
echo ' return _dl_vdso_vsym ("__vdso_time", &symver);'; \
echo '}'; \
echo 'asm (".type time, %gnu_indirect_function");'; \
echo 'asm (".globl __GI_time
/bin/sh: 10: Syntax error: Unterminated quoted string
make[3]: ***
[/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build/time/time.os]
Error 2
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory
`/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/time'
make[2]: *** [time/subdir_lib] Error 2
make[2]: Leaving directory
`/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build'
make: ***
[/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/.stamp_built]
Error 2
What version of buildroot and glibc have you tested it?
On Wed, Aug 12, 2015 at 1:59 AM, Guido Hatzsis <Guido.Hatzsis@yandex.com>
wrote:
> x32 uses 32-bit pointers on the x84-64 linux target. The kernel needs
> to have CONFIG_X86_X32 enabled. For more information see:
> https://en.wikipedia.org/wiki/X32_ABI
>
> Signed-off-by: Guido Hatzsis <Guido.Hatzsis@yandex.com>
> ---
> arch/Config.in.x86 | 30
> ++++++++++++++++++++++++++++++
> package/Makefile.in | 5 +++++
> package/glibc/Config.in | 2 ++
> package/uclibc/Config.in | 1 +
> toolchain/toolchain-buildroot/Config.in | 2 ++
> 5 files changed, 40 insertions(+)
>
> diff --git a/arch/Config.in.x86 b/arch/Config.in.x86
> index 43f6abc..a312df1 100644
> --- a/arch/Config.in.x86
> +++ b/arch/Config.in.x86
> @@ -268,3 +268,33 @@ config BR2_GCC_TARGET_ARCH
> default "c3" if BR2_x86_c3
> default "c3-2" if BR2_x86_c32
> default "geode" if BR2_x86_geode
> +
> +choice
> + prompt "Target ABI"
> + depends on BR2_x86_64
> + default BR2_X86_64_ABI_GCC
> + help
> + Application Binary Interface to use. The Application Binary
> + Interface describes the calling conventions (how arguments
> + are passed to functions, how the return value is passed, how
> + system calls are made, etc.).
> +
> +config BR2_X86_64_ABI_GNU
> + bool "gnu"
> + depends on BR2_x86_64
> + help
> + This is the gnu ABI for x86-64 which has 64-bits wide pointers.
> +
> +config BR2_X86_64_ABI_X32
> + bool "x32"
> + depends on BR2_x86_64
> + help
> + The X32 ABI is x86-64 with 32 bit pointers. It runs in x86-64 mode
> + but as it has 32-bit pointers only 4 GB of RAM can be addressed.
> + https://en.wikipedia.org/wiki/X32_ABI
> +
> +endchoice
> +
> +config BR2_GCC_TARGET_ABI
> + default "x32" if BR2_X86_64_ABI_X32
> +
> diff --git a/package/Makefile.in b/package/Makefile.in
> index 545694f..db2c0f0 100644
> --- a/package/Makefile.in
> +++ b/package/Makefile.in
> @@ -70,6 +70,11 @@ ABI := $(ABI)hf
> endif
> endif
>
> +# Only set the ABI for x86-64 x32.
> +ifeq ($(BR2_X86_64_ABI_X32),y)
> +ABI = x32
> +endif
> +
> # For FSL PowerPC there's SPE
> ifeq ($(BR2_powerpc_SPE),y)
> ABI = spe
> diff --git a/package/glibc/Config.in b/package/glibc/Config.in
> index 8cc8cce..a76f2c7 100644
> --- a/package/glibc/Config.in
> +++ b/package/glibc/Config.in
> @@ -4,6 +4,7 @@ if BR2_TOOLCHAIN_BUILDROOT_EGLIBC
> config BR2_PACKAGE_EGLIBC
> bool
> default y
> + depends on !BR2_X86_64_ABI_X32
>
> choice
> prompt "eglibc version"
> @@ -29,6 +30,7 @@ if BR2_TOOLCHAIN_BUILDROOT_GLIBC
> config BR2_PACKAGE_GLIBC
> bool
> default y
> + depends on !BR2_X86_64_ABI_X32
>
> choice
> prompt "glibc version"
> diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
> index bf40a13..b21a7fe 100644
> --- a/package/uclibc/Config.in
> +++ b/package/uclibc/Config.in
> @@ -4,6 +4,7 @@ if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
> config BR2_PACKAGE_UCLIBC
> bool
> default y
> + depends on !BR2_X86_64_ABI_X32
>
> comment "uClibc Options"
>
> diff --git a/toolchain/toolchain-buildroot/Config.in
> b/toolchain/toolchain-buildroot/Config.in
> index 13e2b15..828f753 100644
> --- a/toolchain/toolchain-buildroot/Config.in
> +++ b/toolchain/toolchain-buildroot/Config.in
> @@ -34,6 +34,7 @@ config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
> BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
> || \
> BR2_powerpc || BR2_sh2a || BR2_sh4 || BR2_sh4eb
> || \
> BR2_sparc || BR2_xtensa || BR2_x86_64
> + depends on !BR2_X86_64_ABI_X32
> help
> This option selects uClibc as the C library for the
> cross-compilation toolchain.
> @@ -51,6 +52,7 @@ config BR2_TOOLCHAIN_BUILDROOT_EGLIBC
> depends on BR2_USE_MMU
> depends on !BR2_STATIC_LIBS
> depends on BR2_DEPRECATED_SINCE_2015_08
> + depends on !BR2_X86_64_ABI_X32
> select BR2_TOOLCHAIN_USES_GLIBC
> # our eglibc.mk enables RPC support
> select BR2_TOOLCHAIN_HAS_NATIVE_RPC
> --
> 2.5.0
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150820/8bf9e653/attachment.html>
^ permalink raw reply [flat|nested] 5+ messages in thread* [Buildroot] [PATCH 1/1] Add support for x32 ABI for x86-64 target.
2015-08-19 22:49 ` sergey kostanbaev
@ 2015-08-20 11:44 ` Guido Hatzsis
2015-08-27 18:20 ` Waldemar Brodkorb
1 sibling, 0 replies; 5+ messages in thread
From: Guido Hatzsis @ 2015-08-20 11:44 UTC (permalink / raw)
To: buildroot
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150820/1989e81f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config
Type: application/octet-stream
Size: 53044 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150820/1989e81f/attachment.obj>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH 1/1] Add support for x32 ABI for x86-64 target.
2015-08-19 22:49 ` sergey kostanbaev
2015-08-20 11:44 ` Guido Hatzsis
@ 2015-08-27 18:20 ` Waldemar Brodkorb
2015-08-28 5:39 ` sergey kostanbaev
1 sibling, 1 reply; 5+ messages in thread
From: Waldemar Brodkorb @ 2015-08-27 18:20 UTC (permalink / raw)
To: buildroot
Hi Sergey,
sergey kostanbaev wrote,
> Hi Guido,
>
> I tried your patch against?buildroot-2015.05 and it fails during compilation of
> glibc-2.21:
>
> /home/serg/projects/buildroot-2015.05/output/host/usr/bin/
> x86_64-umsiteroot-linux-gnux32-gcc mktime.c -c -std=gnu99 -fgnu89-inline ?-O2
> -Wall -Werror -Winline -Wno-error=undef -Wundef -Wwrite-strings
> -fmerge-all-constants -frounding-math -Wstrict-prototypes ? -fPIC ? ? ? ?-I../
> include -I/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build/
> time ?-I/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build
> ?-I../sysdeps/unix/sysv/linux/x86_64/x32 ?-I../sysdeps/x86_64/x32/nptl ?-I../
> sysdeps/unix/sysv/linux/x86_64 ?-I../sysdeps/unix/sysv/linux/x86 ?-I../sysdeps/
> unix/sysv/linux/wordsize-64 ?-I../sysdeps/x86_64/nptl ?-I../sysdeps/unix/sysv/
> linux/include -I../sysdeps/unix/sysv/linux ?-I../sysdeps/nptl ?-I../sysdeps/
> pthread ?-I../sysdeps/gnu ?-I../sysdeps/unix/inet ?-I../sysdeps/unix/sysv ?-I..
> /sysdeps/unix/x86_64 ?-I../sysdeps/unix ?-I../sysdeps/posix ?-I../sysdeps/
> x86_64/x32 ?-I../sysdeps/x86_64/fpu/multiarch ?-I../sysdeps/x86_64/fpu ?-I../
> sysdeps/x86/fpu/include -I../sysdeps/x86/fpu ?-I../sysdeps/x86_64/multiarch
> ?-I../sysdeps/x86_64 ?-I../sysdeps/x86 ?-I../sysdeps/ieee754/ldbl-96 ?-I../
> sysdeps/ieee754/dbl-64/wordsize-64 ?-I../sysdeps/ieee754/dbl-64 ?-I../sysdeps/
> ieee754/flt-32 ?-I../sysdeps/wordsize-32 ?-I../sysdeps/ieee754 ?-I../sysdeps/
> generic ?-I.. -I../libio -I. -nostdinc -isystem /home/serg/projects/
> buildroot-2015.05/output/host/usr/lib/gcc/x86_64-umsiteroot-linux-gnux32/4.9.2/
> include -isystem /home/serg/projects/buildroot-2015.05/output/host/usr/lib/gcc/
> x86_64-umsiteroot-linux-gnux32/4.9.2/include-fixed -isystem /home/serg/projects
> /buildroot-2015.05/output/host/usr/x86_64-umsiteroot-linux-gnux32/sysroot/usr/
> include ?-D_LIBC_REENTRANT -include /home/serg/projects/buildroot-2015.05/
> output/build/glibc-2.21/build/libc-modules.h -DMODULE_NAME=libc -include ../
> include/libc-symbols.h ?-DPIC -DSHARED ? ? -o /home/serg/projects/
> buildroot-2015.05/output/build/glibc-2.21/build/time/mktime.os -MD -MP -MF /
> home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build/time/
> mktime.os.dt -MT /home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/
> build/time/mktime.os
> (echo '#include <dl-vdso.h>'; \
> ? ? ? ? ?echo 'extern void *time_ifunc (void) __asm ("time");'; \
> ? ? ? ? ?echo 'void *'; \
> ? ? ? ? ?echo 'time_ifunc (void)'; \
> ? ? ? ? ?echo '{'; \
> ? ? ? ? ?echo ' ?PREPARE_VERSION_KNOWN (symver, LINUX_2_6);'; \
> ? ? ? ? ?echo ' ?return _dl_vdso_vsym ("__vdso_time", &symver);'; \
> ? ? ? ? ?echo '}'; \
> ? ? ? ? ?echo 'asm (".type time, %gnu_indirect_function");'; \
> ? ? ? ? ?echo 'asm (".globl __GI_time
> /bin/sh: 10: Syntax error: Unterminated quoted string
> make[3]: *** [/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/
> build/time/time.os] Error 2
If I remember correctly this is a shell portability issue, which
only occurs with x86_64 x32, when not using bash as your shell.
(f.e. Ubuntu uses dash as /bin/sh)
The bug is fixed in 2.22.
https://sourceware.org/bugzilla/show_bug.cgi?id=16704
best regards
Waldemar
^ permalink raw reply [flat|nested] 5+ messages in thread* [Buildroot] [PATCH 1/1] Add support for x32 ABI for x86-64 target.
2015-08-27 18:20 ` Waldemar Brodkorb
@ 2015-08-28 5:39 ` sergey kostanbaev
0 siblings, 0 replies; 5+ messages in thread
From: sergey kostanbaev @ 2015-08-28 5:39 UTC (permalink / raw)
To: buildroot
Hi Waldemar,
Thank you for pointing it
27 ??? 2015 ?. 21:20 ???????????? "Waldemar Brodkorb" <wbx@openadk.org>
???????:
> Hi Sergey,
> sergey kostanbaev wrote,
>
> > Hi Guido,
> >
> > I tried your patch against buildroot-2015.05 and it fails during
> compilation of
> > glibc-2.21:
> >
> > /home/serg/projects/buildroot-2015.05/output/host/usr/bin/
> > x86_64-umsiteroot-linux-gnux32-gcc mktime.c -c -std=gnu99 -fgnu89-inline
> -O2
> > -Wall -Werror -Winline -Wno-error=undef -Wundef -Wwrite-strings
> > -fmerge-all-constants -frounding-math -Wstrict-prototypes -fPIC
> -I../
> > include
> -I/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build/
> > time
> -I/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build
> > -I../sysdeps/unix/sysv/linux/x86_64/x32 -I../sysdeps/x86_64/x32/nptl
> -I../
> > sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/x86
> -I../sysdeps/
> > unix/sysv/linux/wordsize-64 -I../sysdeps/x86_64/nptl
> -I../sysdeps/unix/sysv/
> > linux/include -I../sysdeps/unix/sysv/linux -I../sysdeps/nptl
> -I../sysdeps/
> > pthread -I../sysdeps/gnu -I../sysdeps/unix/inet
> -I../sysdeps/unix/sysv -I..
> > /sysdeps/unix/x86_64 -I../sysdeps/unix -I../sysdeps/posix
> -I../sysdeps/
> > x86_64/x32 -I../sysdeps/x86_64/fpu/multiarch -I../sysdeps/x86_64/fpu
> -I../
> > sysdeps/x86/fpu/include -I../sysdeps/x86/fpu
> -I../sysdeps/x86_64/multiarch
> > -I../sysdeps/x86_64 -I../sysdeps/x86 -I../sysdeps/ieee754/ldbl-96
> -I../
> > sysdeps/ieee754/dbl-64/wordsize-64 -I../sysdeps/ieee754/dbl-64
> -I../sysdeps/
> > ieee754/flt-32 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754
> -I../sysdeps/
> > generic -I.. -I../libio -I. -nostdinc -isystem /home/serg/projects/
> >
> buildroot-2015.05/output/host/usr/lib/gcc/x86_64-umsiteroot-linux-gnux32/4.9.2/
> > include -isystem
> /home/serg/projects/buildroot-2015.05/output/host/usr/lib/gcc/
> > x86_64-umsiteroot-linux-gnux32/4.9.2/include-fixed -isystem
> /home/serg/projects
> >
> /buildroot-2015.05/output/host/usr/x86_64-umsiteroot-linux-gnux32/sysroot/usr/
> > include -D_LIBC_REENTRANT -include
> /home/serg/projects/buildroot-2015.05/
> > output/build/glibc-2.21/build/libc-modules.h -DMODULE_NAME=libc -include
> ../
> > include/libc-symbols.h -DPIC -DSHARED -o /home/serg/projects/
> > buildroot-2015.05/output/build/glibc-2.21/build/time/mktime.os -MD -MP
> -MF /
> > home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/build/time/
> > mktime.os.dt -MT
> /home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/
> > build/time/mktime.os
> > (echo '#include <dl-vdso.h>'; \
> > echo 'extern void *time_ifunc (void) __asm ("time");'; \
> > echo 'void *'; \
> > echo 'time_ifunc (void)'; \
> > echo '{'; \
> > echo ' PREPARE_VERSION_KNOWN (symver, LINUX_2_6);'; \
> > echo ' return _dl_vdso_vsym ("__vdso_time", &symver);'; \
> > echo '}'; \
> > echo 'asm (".type time, %gnu_indirect_function");'; \
> > echo 'asm (".globl __GI_time
> > /bin/sh: 10: Syntax error: Unterminated quoted string
> > make[3]: ***
> [/home/serg/projects/buildroot-2015.05/output/build/glibc-2.21/
> > build/time/time.os] Error 2
>
> If I remember correctly this is a shell portability issue, which
> only occurs with x86_64 x32, when not using bash as your shell.
> (f.e. Ubuntu uses dash as /bin/sh)
>
> The bug is fixed in 2.22.
> https://sourceware.org/bugzilla/show_bug.cgi?id=16704
>
> best regards
> Waldemar
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150828/f05f1078/attachment.html>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-08-28 5:39 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-11 22:59 [Buildroot] [PATCH 1/1] Add support for x32 ABI for x86-64 target Guido Hatzsis
2015-08-19 22:49 ` sergey kostanbaev
2015-08-20 11:44 ` Guido Hatzsis
2015-08-27 18:20 ` Waldemar Brodkorb
2015-08-28 5:39 ` sergey kostanbaev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox