diff --git a/config.h.in b/config.h.in
index 38d4aa4..2dcd135 100644
--- a/config.h.in
+++ b/config.h.in
@@ -24,9 +24,6 @@
 /* Define if weak symbols are available via the `.weakext' directive.  */
 #undef	HAVE_ASM_WEAKEXT_DIRECTIVE
 
-/* Define if CFI directives are available.  */
-#undef	HAVE_ASM_CFI_DIRECTIVES
-
 /* Define to the assembler line separator character for multiple
    assembler instructions per line.  Default is `;'  */
 #undef ASM_LINE_SEP
diff --git a/configure b/configure
index ac5a67c..eefc430 100755
--- a/configure
+++ b/configure
@@ -6494,43 +6494,6 @@ elif test $libc_cv_asm_weakext_directive = yes; then
 
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether CFI directives are supported" >&5
-$as_echo_n "checking whether CFI directives are supported... " >&6; }
-if ${libc_cv_asm_cfi_directives+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $machine in
-  sparc/sparc64*) cfi_offset=2047;;
-  *) cfi_offset=0;;
-esac
-cat > conftest.s <<EOF
-	.text
-	.type   func,%function
-func:
-	.cfi_startproc
-	.cfi_remember_state
-	.cfi_rel_offset 1, $cfi_offset
-	.cfi_endproc
-EOF
-if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
-  { { 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_asm_cfi_directives=yes
-else
-  libc_cv_asm_cfi_directives=no
-fi
-rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_cfi_directives" >&5
-$as_echo "$libc_cv_asm_cfi_directives" >&6; }
-if test $libc_cv_asm_cfi_directives = yes; then
-  $as_echo "#define HAVE_ASM_CFI_DIRECTIVES 1" >>confdefs.h
-
-fi
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld --no-whole-archive" >&5
 $as_echo_n "checking for ld --no-whole-archive... " >&6; }
 if ${libc_cv_ld_no_whole_archive+:} false; then :
diff --git a/configure.ac b/configure.ac
index bd3e829..22c2b4c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1696,30 +1696,6 @@ elif test $libc_cv_asm_weakext_directive = yes; then
   AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
 fi
 
-AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl
-case $machine in
-  sparc/sparc64*) cfi_offset=2047;;
-  *) cfi_offset=0;;
-esac
-cat > conftest.s <<EOF
-	.text
-	.type   func,%function
-func:
-	.cfi_startproc
-	.cfi_remember_state
-	.cfi_rel_offset 1, $cfi_offset
-	.cfi_endproc
-EOF
-if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
-  libc_cv_asm_cfi_directives=yes
-else
-  libc_cv_asm_cfi_directives=no
-fi
-rm -f conftest*])
-if test $libc_cv_asm_cfi_directives = yes; then
-  AC_DEFINE(HAVE_ASM_CFI_DIRECTIVES)
-fi
-
 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
 cat > conftest.c <<\EOF
 _start () {}
diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure
index 953ef44..860f412 100644
--- a/sysdeps/arm/configure
+++ b/sysdeps/arm/configure
@@ -3,35 +3,6 @@
 
 #AC_DEFINE(PI_STATIC_AND_HIDDEN)
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the CFI directive .cfi_sections is supported" >&5
-$as_echo_n "checking whether the CFI directive .cfi_sections is supported... " >&6; }
-if ${libc_cv_asm_cfi_directive_sections+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat > conftest.s <<EOF
-	.text
-	.cfi_sections .debug_frame, .eh_frame
-	.cfi_startproc
-	.cfi_endproc
-EOF
-  if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
-  { { 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_asm_cfi_directive_sections=yes
-  else
-    libc_cv_asm_cfi_directive_sections=no
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_cfi_directive_sections" >&5
-$as_echo "$libc_cv_asm_cfi_directive_sections" >&6; }
-if test $libc_cv_asm_cfi_directive_sections != yes; then
-  as_fn_error $? "need .cfi_sections in this configuration" "$LINENO" 5
-fi
-
 # We check to see if the compiler and flags are
 # selecting the hard-float ABI and if they are then
 # we set libc_cv_arm_pcs_vfp to yes which causes
diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac
index fdc52c0..f1d9804 100644
--- a/sysdeps/arm/configure.ac
+++ b/sysdeps/arm/configure.ac
@@ -7,24 +7,6 @@ dnl NOTE: This feature was added by the GCC TLS patches.  We should test for
 dnl it.  Until we do, don't define it.
 #AC_DEFINE(PI_STATIC_AND_HIDDEN)
 
-AC_CACHE_CHECK([whether the CFI directive .cfi_sections is supported],
-  [libc_cv_asm_cfi_directive_sections],
-  [cat > conftest.s <<EOF
-	.text
-	.cfi_sections .debug_frame, .eh_frame
-	.cfi_startproc
-	.cfi_endproc
-EOF
-  if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
-    libc_cv_asm_cfi_directive_sections=yes
-  else
-    libc_cv_asm_cfi_directive_sections=no
-  fi
-  rm -f conftest*])
-if test $libc_cv_asm_cfi_directive_sections != yes; then
-  AC_MSG_ERROR([need .cfi_sections in this configuration])
-fi
-
 # We check to see if the compiler and flags are
 # selecting the hard-float ABI and if they are then
 # we set libc_cv_arm_pcs_vfp to yes which causes
diff --git a/sysdeps/generic/sysdep.h b/sysdeps/generic/sysdep.h
index d1104ef..583696c 100644
--- a/sysdeps/generic/sysdep.h
+++ b/sysdeps/generic/sysdep.h
@@ -36,84 +36,62 @@
 #endif
 
 /* Makros to generate eh_frame unwind information.  */
-#ifdef HAVE_ASM_CFI_DIRECTIVES
-# ifdef __ASSEMBLER__
-#  define cfi_startproc			.cfi_startproc
-#  define cfi_endproc			.cfi_endproc
-#  define cfi_def_cfa(reg, off)		.cfi_def_cfa reg, off
-#  define cfi_def_cfa_register(reg)	.cfi_def_cfa_register reg
-#  define cfi_def_cfa_offset(off)	.cfi_def_cfa_offset off
-#  define cfi_adjust_cfa_offset(off)	.cfi_adjust_cfa_offset off
-#  define cfi_offset(reg, off)		.cfi_offset reg, off
-#  define cfi_rel_offset(reg, off)	.cfi_rel_offset reg, off
-#  define cfi_register(r1, r2)		.cfi_register r1, r2
-#  define cfi_return_column(reg)	.cfi_return_column reg
-#  define cfi_restore(reg)		.cfi_restore reg
-#  define cfi_same_value(reg)		.cfi_same_value reg
-#  define cfi_undefined(reg)		.cfi_undefined reg
-#  define cfi_remember_state		.cfi_remember_state
-#  define cfi_restore_state		.cfi_restore_state
-#  define cfi_window_save		.cfi_window_save
-#  define cfi_personality(enc, exp)	.cfi_personality enc, exp
-#  define cfi_lsda(enc, exp)		.cfi_lsda enc, exp
+#ifdef __ASSEMBLER__
+# define cfi_startproc			.cfi_startproc
+# define cfi_endproc			.cfi_endproc
+# define cfi_def_cfa(reg, off)		.cfi_def_cfa reg, off
+# define cfi_def_cfa_register(reg)	.cfi_def_cfa_register reg
+# define cfi_def_cfa_offset(off)	.cfi_def_cfa_offset off
+# define cfi_adjust_cfa_offset(off)	.cfi_adjust_cfa_offset off
+# define cfi_offset(reg, off)		.cfi_offset reg, off
+# define cfi_rel_offset(reg, off)	.cfi_rel_offset reg, off
+# define cfi_register(r1, r2)		.cfi_register r1, r2
+# define cfi_return_column(reg)	.cfi_return_column reg
+# define cfi_restore(reg)		.cfi_restore reg
+# define cfi_same_value(reg)		.cfi_same_value reg
+# define cfi_undefined(reg)		.cfi_undefined reg
+# define cfi_remember_state		.cfi_remember_state
+# define cfi_restore_state		.cfi_restore_state
+# define cfi_window_save		.cfi_window_save
+# define cfi_personality(enc, exp)	.cfi_personality enc, exp
+# define cfi_lsda(enc, exp)		.cfi_lsda enc, exp
 
-# else /* ! ASSEMBLER */
+#else /* ! ASSEMBLER */
 
-#  define CFI_STRINGIFY(Name) CFI_STRINGIFY2 (Name)
-#  define CFI_STRINGIFY2(Name) #Name
-#  define CFI_STARTPROC	".cfi_startproc"
-#  define CFI_ENDPROC	".cfi_endproc"
-#  define CFI_DEF_CFA(reg, off)	\
+# define CFI_STRINGIFY(Name) CFI_STRINGIFY2 (Name)
+# define CFI_STRINGIFY2(Name) #Name
+# define CFI_STARTPROC	".cfi_startproc"
+# define CFI_ENDPROC	".cfi_endproc"
+# define CFI_DEF_CFA(reg, off)	\
    ".cfi_def_cfa " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
-#  define CFI_DEF_CFA_REGISTER(reg) \
+# define CFI_DEF_CFA_REGISTER(reg) \
    ".cfi_def_cfa_register " CFI_STRINGIFY(reg)
-#  define CFI_DEF_CFA_OFFSET(off) \
+# define CFI_DEF_CFA_OFFSET(off) \
    ".cfi_def_cfa_offset " CFI_STRINGIFY(off)
-#  define CFI_ADJUST_CFA_OFFSET(off) \
+# define CFI_ADJUST_CFA_OFFSET(off) \
    ".cfi_adjust_cfa_offset " CFI_STRINGIFY(off)
-#  define CFI_OFFSET(reg, off) \
+# define CFI_OFFSET(reg, off) \
    ".cfi_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
-#  define CFI_REL_OFFSET(reg, off) \
+# define CFI_REL_OFFSET(reg, off) \
    ".cfi_rel_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
-#  define CFI_REGISTER(r1, r2) \
+# define CFI_REGISTER(r1, r2) \
    ".cfi_register " CFI_STRINGIFY(r1) "," CFI_STRINGIFY(r2)
-#  define CFI_RETURN_COLUMN(reg) \
+# define CFI_RETURN_COLUMN(reg) \
    ".cfi_return_column " CFI_STRINGIFY(reg)
-#  define CFI_RESTORE(reg) \
+# define CFI_RESTORE(reg) \
    ".cfi_restore " CFI_STRINGIFY(reg)
-#  define CFI_UNDEFINED(reg) \
+# define CFI_UNDEFINED(reg) \
    ".cfi_undefined " CFI_STRINGIFY(reg)
-#  define CFI_REMEMBER_STATE \
+# define CFI_REMEMBER_STATE \
    ".cfi_remember_state"
-#  define CFI_RESTORE_STATE \
+# define CFI_RESTORE_STATE \
    ".cfi_restore_state"
-#  define CFI_WINDOW_SAVE \
+# define CFI_WINDOW_SAVE \
    ".cfi_window_save"
-#  define CFI_PERSONALITY(enc, exp) \
+# define CFI_PERSONALITY(enc, exp) \
    ".cfi_personality " CFI_STRINGIFY(enc) "," CFI_STRINGIFY(exp)
-#  define CFI_LSDA(enc, exp) \
+# define CFI_LSDA(enc, exp) \
    ".cfi_lsda " CFI_STRINGIFY(enc) "," CFI_STRINGIFY(exp)
-# endif
-
-#else
-
-# define CFI_STARTPROC
-# define CFI_ENDPROC
-# define CFI_DEF_CFA(reg, off)
-# define CFI_DEF_CFA_REGISTER(reg)
-# define CFI_DEF_CFA_OFFSET(off)
-# define CFI_ADJUST_CFA_OFFSET(off)
-# define CFI_OFFSET(reg, off)
-# define CFI_REL_OFFSET(reg, off)
-# define CFI_REGISTER(r1, r2)
-# define CFI_RETURN_COLUMN(reg)
-# define CFI_RESTORE(reg)
-# define CFI_UNDEFINED(reg)
-# define CFI_REMEMBER_STATE
-# define CFI_RESTORE_STATE
-# define CFI_WINDOW_SAVE
-# define CFI_PERSONALITY(enc, exp)
-# define CFI_LSDA(enc, exp)
 #endif
 
 #include "dwarf2.h"
diff --git a/sysdeps/nptl/configure b/sysdeps/nptl/configure
index 239a039..65ed164 100644
--- a/sysdeps/nptl/configure
+++ b/sysdeps/nptl/configure
@@ -9,14 +9,6 @@ if test "x${libc_cv_visibility_attribute}" != xyes ||
   as_fn_error $? "working compiler support for visibility attribute is required" "$LINENO" 5
 fi
 
-if test "x$libc_cv_asm_cfi_directives" != xyes; then
-    case "$base_machine" in
-    i386 | x86_64 | powerpc | s390)
-      as_fn_error $? "CFI directive support in assembler is required" "$LINENO" 5 ;;
-    *) ;;
-  esac
-fi
-
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for forced unwind support" >&5
 $as_echo_n "checking for forced unwind support... " >&6; }
diff --git a/sysdeps/nptl/configure.ac b/sysdeps/nptl/configure.ac
index 413af96..ab9d5e6 100644
--- a/sysdeps/nptl/configure.ac
+++ b/sysdeps/nptl/configure.ac
@@ -10,15 +10,6 @@ if test "x${libc_cv_visibility_attribute}" != xyes ||
   AC_MSG_ERROR(working compiler support for visibility attribute is required)
 fi
 
-if test "x$libc_cv_asm_cfi_directives" != xyes; then
-  dnl We need this only for some architectures.
-  case "$base_machine" in
-    i386 | x86_64 | powerpc | s390)
-      AC_MSG_ERROR(CFI directive support in assembler is required) ;;
-    *) ;;
-  esac
-fi
-
 dnl Iff <unwind.h> is available, make sure it is the right one and it
 dnl contains struct _Unwind_Exception.
 AC_CACHE_CHECK(dnl
diff --git a/sysdeps/x86_64/nptl/configure b/sysdeps/x86_64/nptl/configure
deleted file mode 100644
index c9dea5a..0000000
--- a/sysdeps/x86_64/nptl/configure
+++ /dev/null
@@ -1,34 +0,0 @@
-# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
- # Local configure fragment for sysdeps/i386.
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .cfi_personality and .cfi_lsda pseudo-ops" >&5
-$as_echo_n "checking for .cfi_personality and .cfi_lsda pseudo-ops... " >&6; }
-if ${libc_cv_asm_cfi_personality+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    cat > conftest.s <<EOF
-${libc_cv_dot_text}
-foo:
-	.cfi_startproc
-	.cfi_personality 0, foo
-	.cfi_lsda 0, foo
-	.cfi_endproc
-EOF
-  if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
-  { { 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_asm_cfi_personality=yes
-  else
-    libc_cv_asm_cfi_personality=no
-  fi
-  rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_cfi_personality" >&5
-$as_echo "$libc_cv_asm_cfi_personality" >&6; }
-if test x"$libc_cv_asm_cfi_personality" != xyes; then
-  as_fn_error $? "assembler too old, .cfi_personality support missing" "$LINENO" 5
-fi
diff --git a/sysdeps/x86_64/nptl/configure.ac b/sysdeps/x86_64/nptl/configure.ac
deleted file mode 100644
index 0ba0cc3..0000000
--- a/sysdeps/x86_64/nptl/configure.ac
+++ /dev/null
@@ -1,23 +0,0 @@
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-# Local configure fragment for sysdeps/i386.
-
-AC_CACHE_CHECK([for .cfi_personality and .cfi_lsda pseudo-ops],
-	       libc_cv_asm_cfi_personality, [dnl
-  cat > conftest.s <<EOF
-${libc_cv_dot_text}
-foo:
-	.cfi_startproc
-	.cfi_personality 0, foo
-	.cfi_lsda 0, foo
-	.cfi_endproc
-EOF
-  if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
-    libc_cv_asm_cfi_personality=yes
-  else
-    libc_cv_asm_cfi_personality=no
-  fi
-  rm -f conftest*
-])
-if test x"$libc_cv_asm_cfi_personality" != xyes; then
-  AC_MSG_ERROR([assembler too old, .cfi_personality support missing])
-fi
