aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1996-08-07 18:23:08 +0000
committerIan Lance Taylor <ian@airs.com>1996-08-07 18:23:08 +0000
commit5cece5267784495835c2fb2fb4141612d4c3c02b (patch)
treea7d7b04d6fca609aa19a2c99636365f51f327356 /gas
parent85fe9d3e46ca45f86886f8baf9aa21fa6ec2ece7 (diff)
downloadgdb-5cece5267784495835c2fb2fb4141612d4c3c02b.zip
gdb-5cece5267784495835c2fb2fb4141612d4c3c02b.tar.gz
gdb-5cece5267784495835c2fb2fb4141612d4c3c02b.tar.bz2
Wed Aug 7 14:19:03 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
* configure.in: Make GAS_CHECK_DECL_NEEDED include <string.h> or <strings.h> if they exist. Call GAS_CHECK_DECL_NEEDED on strstr and sbrk. * acconfig.h (NEED_DECLARATION_STRSTR): New macro. (NEED_DECLARATION_SBRK): New macro. * configure, conf.in: Rebuild. * as.h: Only include <strings.h> if HAVE_STRINGS_H. (strstr): Declare if NEED_DECLARATION_STRSTR. * as.c: If HAVE_SBRK and NEED_DECLARATION_SBRK, declare sbrk.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog12
-rw-r--r--gas/acconfig.h6
-rw-r--r--gas/as.h10
-rw-r--r--gas/conf.in6
-rwxr-xr-xgas/configure88
-rw-r--r--gas/configure.in6
6 files changed, 117 insertions, 11 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 2fe618d..6380931 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,15 @@
+Wed Aug 7 14:19:03 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
+
+ * configure.in: Make GAS_CHECK_DECL_NEEDED include <string.h> or
+ <strings.h> if they exist. Call GAS_CHECK_DECL_NEEDED on strstr
+ and sbrk.
+ * acconfig.h (NEED_DECLARATION_STRSTR): New macro.
+ (NEED_DECLARATION_SBRK): New macro.
+ * configure, conf.in: Rebuild.
+ * as.h: Only include <strings.h> if HAVE_STRINGS_H.
+ (strstr): Declare if NEED_DECLARATION_STRSTR.
+ * as.c: If HAVE_SBRK and NEED_DECLARATION_SBRK, declare sbrk.
+
Wed Aug 7 11:50:26 1996 Ian Lance Taylor <ian@cygnus.com>
* config/tc-mips.c (md_section_align): Do align if OBJ_ELF, but
diff --git a/gas/acconfig.h b/gas/acconfig.h
index 1626d38..d2ca454 100644
--- a/gas/acconfig.h
+++ b/gas/acconfig.h
@@ -17,12 +17,18 @@
#undef TARGET_OS
#undef TARGET_VENDOR
+/* Sometimes the system header files don't declare strstr. */
+#undef NEED_DECLARATION_STRSTR
+
/* Sometimes the system header files don't declare malloc and realloc. */
#undef NEED_DECLARATION_MALLOC
/* Sometimes the system header files don't declare free. */
#undef NEED_DECLARATION_FREE
+/* Sometimes the system header files don't declare sbrk. */
+#undef NEED_DECLARATION_SBRK
+
/* Sometimes errno.h doesn't declare errno itself. */
#undef NEED_DECLARATION_ERRNO
diff --git a/gas/as.h b/gas/as.h
index f796178..66d385c 100644
--- a/gas/as.h
+++ b/gas/as.h
@@ -79,8 +79,10 @@ void *alloca ();
#ifdef HAVE_STRING_H
#include <string.h>
#else
+#ifdef HAVE_STRINGS_H
#include <strings.h>
#endif
+#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
@@ -145,6 +147,9 @@ void *alloca ();
#endif /* !__MWERKS__ */
/* Other stuff from config.h. */
+#ifdef NEED_DECLARATION_STRSTR
+extern char *strstr ();
+#endif
#ifdef NEED_DECLARATION_MALLOC
extern PTR malloc ();
extern PTR realloc ();
@@ -212,11 +217,6 @@ extern PTR bfd_alloc_by_size_t PARAMS ((bfd *abfd, size_t sz));
as_fatal("Case value %ld unexpected at line %d of file \"%s\"\n", \
(long) val, __LINE__, __FILE__); \
}
-
-/* Version 2.1 of Solaris had problems with this declaration, but I
- think that bug has since been fixed. If it causes problems on your
- system, just delete it. */
-extern char *strstr ();
#include "flonum.h"
diff --git a/gas/conf.in b/gas/conf.in
index 5260c30..29288ba 100644
--- a/gas/conf.in
+++ b/gas/conf.in
@@ -44,12 +44,18 @@
#undef TARGET_OS
#undef TARGET_VENDOR
+/* Sometimes the system header files don't declare strstr. */
+#undef NEED_DECLARATION_STRSTR
+
/* Sometimes the system header files don't declare malloc and realloc. */
#undef NEED_DECLARATION_MALLOC
/* Sometimes the system header files don't declare free. */
#undef NEED_DECLARATION_FREE
+/* Sometimes the system header files don't declare sbrk. */
+#undef NEED_DECLARATION_SBRK
+
/* Sometimes errno.h doesn't declare errno itself. */
#undef NEED_DECLARATION_ERRNO
diff --git a/gas/configure b/gas/configure
index 5cb7b8d..459c9fd 100755
--- a/gas/configure
+++ b/gas/configure
@@ -2104,6 +2104,10 @@ gas_test_headers="
#endif
#ifdef HAVE_STRING_H
#include <string.h>
+#else
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#endif
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
@@ -2113,12 +2117,48 @@ gas_test_headers="
#endif
"
+echo $ac_n "checking whether declaration is required for strstr""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'gas_cv_decl_needed_strstr'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2126 "configure"
+#include "confdefs.h"
+$gas_test_headers
+int main() { return 0; }
+int t() {
+
+typedef char *(*f)();
+f x;
+x = (f) strstr;
+
+; return 0; }
+EOF
+if { (eval echo configure:2138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ rm -rf conftest*
+ gas_cv_decl_needed_strstr=no
+else
+ rm -rf conftest*
+ gas_cv_decl_needed_strstr=yes
+fi
+rm -f conftest*
+
+fi
+echo "$ac_t""$gas_cv_decl_needed_strstr" 1>&6
+test $gas_cv_decl_needed_strstr = no || {
+ cat >> confdefs.h <<\EOF
+#define NEED_DECLARATION_STRSTR 1
+EOF
+
+}
+
+
echo $ac_n "checking whether declaration is required for malloc""... $ac_c" 1>&6
if eval "test \"`echo '$''{'gas_cv_decl_needed_malloc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2122 "configure"
+#line 2162 "configure"
#include "confdefs.h"
$gas_test_headers
int main() { return 0; }
@@ -2130,7 +2170,7 @@ x = (f) malloc;
; return 0; }
EOF
-if { (eval echo configure:2134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:2174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_malloc=no
else
@@ -2154,7 +2194,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_free'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2158 "configure"
+#line 2198 "configure"
#include "confdefs.h"
$gas_test_headers
int main() { return 0; }
@@ -2166,7 +2206,7 @@ x = (f) free;
; return 0; }
EOF
-if { (eval echo configure:2170: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:2210: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_free=no
else
@@ -2185,6 +2225,42 @@ EOF
}
+echo $ac_n "checking whether declaration is required for sbrk""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'gas_cv_decl_needed_sbrk'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2234 "configure"
+#include "confdefs.h"
+$gas_test_headers
+int main() { return 0; }
+int t() {
+
+typedef char *(*f)();
+f x;
+x = (f) sbrk;
+
+; return 0; }
+EOF
+if { (eval echo configure:2246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ rm -rf conftest*
+ gas_cv_decl_needed_sbrk=no
+else
+ rm -rf conftest*
+ gas_cv_decl_needed_sbrk=yes
+fi
+rm -f conftest*
+
+fi
+echo "$ac_t""$gas_cv_decl_needed_sbrk" 1>&6
+test $gas_cv_decl_needed_sbrk = no || {
+ cat >> confdefs.h <<\EOF
+#define NEED_DECLARATION_SBRK 1
+EOF
+
+}
+
+
# Does errno.h declare errno, or do we have to add a separate declaration
# for it?
@@ -2193,7 +2269,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_errno'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2197 "configure"
+#line 2273 "configure"
#include "confdefs.h"
#ifdef HAVE_ERRNO_H
@@ -2209,7 +2285,7 @@ x = (f) errno;
; return 0; }
EOF
-if { (eval echo configure:2213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:2289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest*
gas_cv_decl_needed_errno=no
else
diff --git a/gas/configure.in b/gas/configure.in
index 0b535c6..98977c2 100644
--- a/gas/configure.in
+++ b/gas/configure.in
@@ -656,6 +656,10 @@ gas_test_headers="
#endif
#ifdef HAVE_STRING_H
#include <string.h>
+#else
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#endif
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
@@ -664,8 +668,10 @@ gas_test_headers="
#include <unistd.h>
#endif
"
+GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
+GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
# Does errno.h declare errno, or do we have to add a separate declaration
# for it?