summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/i386/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/configure.ac')
-rw-r--r--sysdeps/unix/sysv/linux/i386/configure.ac17
1 files changed, 17 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/configure.ac b/sysdeps/unix/sysv/linux/i386/configure.ac
index 64ab2cc2c8..9e980784bb 100644
--- a/sysdeps/unix/sysv/linux/i386/configure.ac
+++ b/sysdeps/unix/sysv/linux/i386/configure.ac
@@ -1,5 +1,22 @@
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
# Local configure fragment for sysdeps/unix/sysv/linux/i386.
+# Check if CFLAGS allows compiler to use ebp register in inline assembly.
+AC_CACHE_CHECK([if compiler flags allows ebp in inline assembly],
+ libc_cv_can_use_register_asm_ebp, [
+AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([
+ void foo (int i)
+ {
+ register int reg asm ("ebp") = i;
+ asm ("# %0" : : "r" (reg));
+ }])],
+ [libc_cv_can_use_register_asm_ebp=yes],
+ [libc_cv_can_use_register_asm_ebp=no])
+])
+if test $libc_cv_can_use_register_asm_ebp = yes; then
+ AC_DEFINE(CAN_USE_REGISTER_ASM_EBP)
+fi
+
libc_cv_gcc_unwind_find_fde=yes
ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed