about summary refs log tree commit diff
path: root/sysdeps/riscv/configure
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/riscv/configure')
-rw-r--r--sysdeps/riscv/configure30
1 files changed, 30 insertions, 0 deletions
diff --git a/sysdeps/riscv/configure b/sysdeps/riscv/configure
index 53f5f1b5f1..4a56fca94b 100644
--- a/sysdeps/riscv/configure
+++ b/sysdeps/riscv/configure
@@ -2,3 +2,33 @@
  # Local configure fragment for sysdeps/riscv/elf.
 
 $as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
+
+
+# Check if static linker supports R_RISCV_ALIGN
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for R_RISCV_ALIGN linker relaxation support" >&5
+$as_echo_n "checking for R_RISCV_ALIGN linker relaxation support... " >&6; }
+if ${libc_cv_riscv_r_align+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+    cat > conftest.S <<EOF
+.align 3
+foo:
+  li a0,42
+  ret
+EOF
+  libc_cv_riscv_r_align=no
+  if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles $no_ssp -shared -fPIC -o contests.o conftest.S'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }
+  then
+    libc_cv_riscv_r_align=yes
+  fi
+  rm -rf conftest.*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_riscv_r_align" >&5
+$as_echo "$libc_cv_riscv_r_align" >&6; }
+config_vars="$config_vars
+riscv-r-align = $libc_cv_riscv_r_align"