diff --git a/configure b/configure
index c9fb27886e95d3e41a54185d97806fd4dc025176..1ea64cf70b3485cd60728f9bafda7c18e03b9fef 100755
--- a/configure
+++ b/configure
@@ -988,6 +988,7 @@ HAVE_LIST="
     GetProcessMemoryInfo
     GetProcessTimes
     getrusage
+    gnu_as
     struct_rusage_ru_maxrss
     ibm_asm
     inet_aton
@@ -2116,6 +2117,7 @@ case $target_os in
         ;;
     darwin)
         enable malloc_aligned
+        as="gas-preprocessor.pl $cc"
         SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR) -Wl,-read_only_relocs,suppress'
         strip="${strip} -x"
         FFLDFLAGS="-Wl,-dynamic,-search_paths_first"
@@ -2306,6 +2308,9 @@ unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';
 EOF
 od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
 
+check_asm gnu_as '".macro m n\n\\n:.int 0\n.endm\nm x"' ||
+    warn "GNU assembler not found, install gas-preprocessor"
+
 if enabled alpha; then
 
     check_cflags -mieee