summary refs log tree commit diff
path: root/configure.in
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2003-03-10 09:10:43 +0000
committerRoland McGrath <roland@gnu.org>2003-03-10 09:10:43 +0000
commit073e82bfaeeb5624b2c85012a5582a1308ddae05 (patch)
treeaba52ca1e4971cceca20f86d36cc2f888b936ffb /configure.in
parent9921a880001f11280c8e165310ce8f65eecd5a42 (diff)
downloadglibc-073e82bfaeeb5624b2c85012a5582a1308ddae05.tar.gz
glibc-073e82bfaeeb5624b2c85012a5582a1308ddae05.tar.xz
glibc-073e82bfaeeb5624b2c85012a5582a1308ddae05.zip
2003-03-10 Roland McGrath <roland@redhat.com>
	* configure.in: New check for -g on .S files.
	* configure: Regenerated.
	* config.make.in (have-cpp-asm-debuginfo): New variable.
	* config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef.
	* Makeconfig (ASFLAGS): New variable, if undefined and
	$(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS).
	* Makerules (compile.S, COMPILE.S): Use $(ASFLAGS).
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in32
1 files changed, 32 insertions, 0 deletions
diff --git a/configure.in b/configure.in
index 3ba21bcce6..a9903146d0 100644
--- a/configure.in
+++ b/configure.in
@@ -1462,6 +1462,38 @@ EOF
   ;;
 esac
 
+AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp,
+	       libc_cv_cpp_asm_debuginfo, [dnl
+cat > conftest.S <<EOF
+#include "confdefs.h"
+
+/* comment on
+   two lines */
+	${libc_cv_dot_text}
+	${libc_cv_asm_global_directive} foo
+foo:
+	/* Unfortunately this test only works for a real instruction,
+	   not for any of the machine-independent pseudo-ops.
+	   So we just have to assume everybody has a "nop".  */
+	nop
+	/* comment */
+	nop
+	/* comment */
+	nop
+EOF
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS -g -c conftest.S 1>&AS_MESSAGE_LOG_FD]) &&
+   ac_pattern='conftest\.S'
+   AC_TRY_COMMAND([readelf --debug-dump=line conftest.o |
+		   grep $ac_pattern 1>&AS_MESSAGE_LOG_FD]); then
+  libc_cv_cpp_asm_debuginfo=yes
+else
+  libc_cv_cpp_asm_debuginfo=no
+fi
+rm -f conftest*])AC_SUBST(libc_cv_cpp_asm_debuginfo)
+if test $libc_cv_cpp_asm_debuginfo = yes; then
+  AC_DEFINE(HAVE_CPP_ASM_DEBUGINFO)
+fi
+
 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
 cat > conftest.c <<\EOF
 _start () {}