diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2004-05-21 21:33:09 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2004-05-21 21:33:09 +0000 |
commit | aed1d2f4bd24ce3a2ffdf3e876a024b0ad0e3b93 (patch) | |
tree | 57b1c944b3aaecc462844adc2c643d9443b02c91 | |
parent | 8db707bcae8907990574fb8cc68c301bab93312b (diff) |
Properly recognize core dump architecture. Add StackGhost support.
ok drahn@
-rw-r--r-- | gnu/usr.bin/binutils/bfd/configure | 140 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/bfd/configure.in | 4 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/bfd/libaout.h | 3 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/bfd/netbsd-core.c | 82 |
4 files changed, 138 insertions, 91 deletions
diff --git a/gnu/usr.bin/binutils/bfd/configure b/gnu/usr.bin/binutils/bfd/configure index 158cc21d70b..7c90095b3b0 100644 --- a/gnu/usr.bin/binutils/bfd/configure +++ b/gnu/usr.bin/binutils/bfd/configure @@ -5249,16 +5249,16 @@ if test "${target}" = "${host}"; then # Not all versions of AIX with -DAIX_CORE_DUMPX_CORE # have c_impl as a member of struct core_dumpx echo $ac_n "checking for c_impl in struct core_dumpx""... $ac_c" 1>&6 -echo "configure:5250: checking for c_impl in struct core_dumpx" >&5 +echo "configure:5253: checking for c_impl in struct core_dumpx" >&5 cat > conftest.$ac_ext <<EOF -#line 5252 "configure" +#line 5255 "configure" #include "confdefs.h" #include <core.h> int main() { struct core_dumpx c; c.c_impl = 0; ; return 0; } EOF -if { (eval echo configure:5259: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5262: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_ST_C_IMPL 1 @@ -5303,7 +5303,9 @@ rm -f conftest* COREFILE=trad-core.lo TRAD_HEADER='"hosts/vaxbsd.h"' ;; - x86_64-*-netbsd*) COREFILE=netbsd-core.lo ;; + x86_64-*-netbsd* | x86_64-*-openbsd*) + COREFILE=netbsd-core.lo + ;; esac case "$COREFILE" in @@ -5326,17 +5328,17 @@ rm -f conftest* do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5327: checking for $ac_hdr" >&5 +echo "configure:5332: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5332 "configure" +#line 5337 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5337: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5342: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5364,12 +5366,12 @@ done if test "$ac_cv_header_sys_procfs_h" = yes; then echo $ac_n "checking for prstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5365: checking for prstatus_t in sys/procfs.h" >&5 +echo "configure:5370: checking for prstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5370 "configure" +#line 5375 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5378,7 +5380,7 @@ int main() { prstatus_t avar ; return 0; } EOF -if { (eval echo configure:5379: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5384: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prstatus_t=yes else @@ -5400,12 +5402,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prstatus_t" 1>&6 echo $ac_n "checking for prstatus32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5401: checking for prstatus32_t in sys/procfs.h" >&5 +echo "configure:5406: checking for prstatus32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prstatus32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5406 "configure" +#line 5411 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5414,7 +5416,7 @@ int main() { prstatus32_t avar ; return 0; } EOF -if { (eval echo configure:5415: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5420: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prstatus32_t=yes else @@ -5436,12 +5438,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prstatus32_t" 1>&6 echo $ac_n "checking for prstatus_t.pr_who in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5437: checking for prstatus_t.pr_who in sys/procfs.h" >&5 +echo "configure:5442: checking for prstatus_t.pr_who in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5442 "configure" +#line 5447 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5450,7 +5452,7 @@ int main() { prstatus_t avar; void* aref = (void*) &avar.pr_who ; return 0; } EOF -if { (eval echo configure:5451: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5456: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who=yes else @@ -5472,12 +5474,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_prstatus_t_pr_who" 1>&6 echo $ac_n "checking for prstatus32_t.pr_who in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5473: checking for prstatus32_t.pr_who in sys/procfs.h" >&5 +echo "configure:5478: checking for prstatus32_t.pr_who in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5478 "configure" +#line 5483 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5486,7 +5488,7 @@ int main() { prstatus32_t avar; void* aref = (void*) &avar.pr_who ; return 0; } EOF -if { (eval echo configure:5487: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5492: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who=yes else @@ -5508,12 +5510,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_prstatus32_t_pr_who" 1>&6 echo $ac_n "checking for pstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5509: checking for pstatus_t in sys/procfs.h" >&5 +echo "configure:5514: checking for pstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5514 "configure" +#line 5519 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5522,7 +5524,7 @@ int main() { pstatus_t avar ; return 0; } EOF -if { (eval echo configure:5523: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5528: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_pstatus_t=yes else @@ -5544,12 +5546,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_pstatus_t" 1>&6 echo $ac_n "checking for pxstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5545: checking for pxstatus_t in sys/procfs.h" >&5 +echo "configure:5550: checking for pxstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pxstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5550 "configure" +#line 5555 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5558,7 +5560,7 @@ int main() { pxstatus_t avar ; return 0; } EOF -if { (eval echo configure:5559: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5564: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_pxstatus_t=yes else @@ -5580,12 +5582,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_pxstatus_t" 1>&6 echo $ac_n "checking for pstatus32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5581: checking for pstatus32_t in sys/procfs.h" >&5 +echo "configure:5586: checking for pstatus32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pstatus32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5586 "configure" +#line 5591 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5594,7 +5596,7 @@ int main() { pstatus32_t avar ; return 0; } EOF -if { (eval echo configure:5595: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5600: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_pstatus32_t=yes else @@ -5616,12 +5618,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_pstatus32_t" 1>&6 echo $ac_n "checking for prpsinfo_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5617: checking for prpsinfo_t in sys/procfs.h" >&5 +echo "configure:5622: checking for prpsinfo_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prpsinfo_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5622 "configure" +#line 5627 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5630,7 +5632,7 @@ int main() { prpsinfo_t avar ; return 0; } EOF -if { (eval echo configure:5631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5636: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prpsinfo_t=yes else @@ -5652,12 +5654,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prpsinfo_t" 1>&6 echo $ac_n "checking for prpsinfo32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5653: checking for prpsinfo32_t in sys/procfs.h" >&5 +echo "configure:5658: checking for prpsinfo32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prpsinfo32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5658 "configure" +#line 5663 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5666,7 +5668,7 @@ int main() { prpsinfo32_t avar ; return 0; } EOF -if { (eval echo configure:5667: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5672: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prpsinfo32_t=yes else @@ -5688,12 +5690,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prpsinfo32_t" 1>&6 echo $ac_n "checking for psinfo_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5689: checking for psinfo_t in sys/procfs.h" >&5 +echo "configure:5694: checking for psinfo_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psinfo_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5694 "configure" +#line 5699 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5702,7 +5704,7 @@ int main() { psinfo_t avar ; return 0; } EOF -if { (eval echo configure:5703: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5708: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_psinfo_t=yes else @@ -5724,12 +5726,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_psinfo_t" 1>&6 echo $ac_n "checking for psinfo32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5725: checking for psinfo32_t in sys/procfs.h" >&5 +echo "configure:5730: checking for psinfo32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psinfo32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5730 "configure" +#line 5735 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5738,7 +5740,7 @@ int main() { psinfo32_t avar ; return 0; } EOF -if { (eval echo configure:5739: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5744: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_psinfo32_t=yes else @@ -5760,12 +5762,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_psinfo32_t" 1>&6 echo $ac_n "checking for lwpstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5761: checking for lwpstatus_t in sys/procfs.h" >&5 +echo "configure:5766: checking for lwpstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5766 "configure" +#line 5771 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5774,7 +5776,7 @@ int main() { lwpstatus_t avar ; return 0; } EOF -if { (eval echo configure:5775: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5780: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_lwpstatus_t=yes else @@ -5796,12 +5798,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpstatus_t" 1>&6 echo $ac_n "checking for lwpxstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5797: checking for lwpxstatus_t in sys/procfs.h" >&5 +echo "configure:5802: checking for lwpxstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpxstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5802 "configure" +#line 5807 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5810,7 +5812,7 @@ int main() { lwpxstatus_t avar ; return 0; } EOF -if { (eval echo configure:5811: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5816: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_lwpxstatus_t=yes else @@ -5832,12 +5834,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpxstatus_t" 1>&6 echo $ac_n "checking for lwpstatus_t.pr_context in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5833: checking for lwpstatus_t.pr_context in sys/procfs.h" >&5 +echo "configure:5838: checking for lwpstatus_t.pr_context in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5838 "configure" +#line 5843 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5846,7 +5848,7 @@ int main() { lwpstatus_t avar; void* aref = (void*) &avar.pr_context ; return 0; } EOF -if { (eval echo configure:5847: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5852: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context=yes else @@ -5868,12 +5870,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_context" 1>&6 echo $ac_n "checking for lwpstatus_t.pr_reg in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5869: checking for lwpstatus_t.pr_reg in sys/procfs.h" >&5 +echo "configure:5874: checking for lwpstatus_t.pr_reg in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5874 "configure" +#line 5879 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5882,7 +5884,7 @@ int main() { lwpstatus_t avar; void* aref = (void*) &avar.pr_reg ; return 0; } EOF -if { (eval echo configure:5883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5888: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg=yes else @@ -5904,12 +5906,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_member_lwpstatus_t_pr_reg" 1>&6 echo $ac_n "checking for win32_pstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:5905: checking for win32_pstatus_t in sys/procfs.h" >&5 +echo "configure:5910: checking for win32_pstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_win32_pstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5910 "configure" +#line 5915 "configure" #include "confdefs.h" #define _SYSCALL32 @@ -5918,7 +5920,7 @@ int main() { win32_pstatus_t avar ; return 0; } EOF -if { (eval echo configure:5919: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5924: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_win32_pstatus_t=yes else @@ -6389,10 +6391,10 @@ case ${host64}-${target64}-${want64} in if test -n "$GCC" ; then bad_64bit_gcc=no; echo $ac_n "checking for gcc version with buggy 64-bit support""... $ac_c" 1>&6 -echo "configure:6389: checking for gcc version with buggy 64-bit support" >&5 +echo "configure:6395: checking for gcc version with buggy 64-bit support" >&5 # Add more tests for gcc versions with non-working 64-bit support here. cat > conftest.$ac_ext <<EOF -#line 6392 "configure" +#line 6398 "configure" #include "confdefs.h" :__GNUC__:__GNUC_MINOR__:__i386__: EOF @@ -6438,17 +6440,17 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6438: checking for $ac_hdr" >&5 +echo "configure:6444: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6443 "configure" +#line 6449 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6448: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6454: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6477,12 +6479,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6477: checking for $ac_func" >&5 +echo "configure:6483: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6482 "configure" +#line 6488 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -6505,7 +6507,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:6505: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6511: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6530,7 +6532,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:6530: checking for working mmap" >&5 +echo "configure:6536: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6538,7 +6540,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <<EOF -#line 6538 "configure" +#line 6544 "configure" #include "confdefs.h" /* Thanks to Mike Haertel and Jim Avera for this test. @@ -6678,7 +6680,7 @@ main() } EOF -if { (eval echo configure:6678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6684: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -6703,12 +6705,12 @@ fi for ac_func in madvise mprotect do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6703: checking for $ac_func" >&5 +echo "configure:6709: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6708 "configure" +#line 6714 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -6731,7 +6733,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:6731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else diff --git a/gnu/usr.bin/binutils/bfd/configure.in b/gnu/usr.bin/binutils/bfd/configure.in index 5f8803dba1d..c1403fdaefc 100644 --- a/gnu/usr.bin/binutils/bfd/configure.in +++ b/gnu/usr.bin/binutils/bfd/configure.in @@ -375,7 +375,9 @@ changequote([,])dnl COREFILE=trad-core.lo TRAD_HEADER='"hosts/vaxbsd.h"' ;; - x86_64-*-netbsd*) COREFILE=netbsd-core.lo ;; + x86_64-*-netbsd* | x86_64-*-openbsd*) + COREFILE=netbsd-core.lo + ;; esac case "$COREFILE" in diff --git a/gnu/usr.bin/binutils/bfd/libaout.h b/gnu/usr.bin/binutils/bfd/libaout.h index bf362704e46..01abf6957a5 100644 --- a/gnu/usr.bin/binutils/bfd/libaout.h +++ b/gnu/usr.bin/binutils/bfd/libaout.h @@ -302,10 +302,13 @@ enum machine_type { M_ALPHA_NETBSD = 141, /* NetBSD/alpha binary */ M_ARM6_NETBSD = 143, /* NetBSD/arm32 binary */ M_SPARCLET_1 = 147, /* 0x93, reserved */ + M_POWERPC_NETBSD = 149, /* NetBSD/powerpc (big-endian) binary */ M_VAX4K_NETBSD = 150, /* NetBSD/vax 4K pages binary */ M_MIPS1 = 151, /* MIPS R2000/R3000 binary */ M_MIPS2 = 152, /* MIPS R4000/R6000 binary */ M_M88K_OPENBSD = 153, /* OpenBSD/m88k binary */ + M_SPARC64_NETBSD = 156, /* NetBSD/sparc64 binary */ + M_X86_64_NETBSD = 157, /* NetBSD/amd64 binary */ M_SPARCLET_2 = 163, /* 0xa3, reserved */ M_SPARCLET_3 = 179, /* 0xb3, reserved */ M_SPARCLET_4 = 195, /* 0xc3, reserved */ diff --git a/gnu/usr.bin/binutils/bfd/netbsd-core.c b/gnu/usr.bin/binutils/bfd/netbsd-core.c index a9f1260271c..c4548ff2b63 100644 --- a/gnu/usr.bin/binutils/bfd/netbsd-core.c +++ b/gnu/usr.bin/binutils/bfd/netbsd-core.c @@ -30,9 +30,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include <signal.h> #include <sys/core.h> -/* - * FIXME: On NetBSD/sparc CORE_FPU_OFFSET should be (sizeof (struct trapframe)) - */ +/* The machine ID for OpenBSD/sparc64 and older versions of + NetBSD/sparc64 overlaps with M_MIPS1. */ +#define M_SPARC64_OPENBSD M_MIPS1 + +/* Offset of StackGhost cookie within `struct md_coredump' on + OpenBSD/sparc. */ +#define CORE_WCOOKIE_OFFSET 344 struct netbsd_core_struct { struct core core; @@ -61,7 +65,7 @@ netbsd_core_file_p (abfd) { int i, val; file_ptr offset; - asection *asect, *asect2; + asection *asect; struct core core; struct coreseg coreseg; bfd_size_type amt = sizeof core; @@ -140,25 +144,61 @@ netbsd_core_file_p (abfd) asect->filepos = offset; asect->alignment_power = 2; + if (CORE_GETMID (core) == M_SPARC_NETBSD + && CORE_GETFLAG (coreseg) == CORE_CPU + && coreseg.c_size > CORE_WCOOKIE_OFFSET) + { + /* Truncate the .reg section. */ + asect->_raw_size = CORE_WCOOKIE_OFFSET; + + /* And create the .wcookie section. */ + asect = bfd_make_section_anyway (abfd, ".wcookie"); + if (asect == NULL) + goto punt; + + asect->flags = SEC_ALLOC + SEC_HAS_CONTENTS; + asect->_raw_size = 4; + asect->vma = 0; + asect->filepos = offset + CORE_WCOOKIE_OFFSET; + asect->alignment_power = 2; + } + offset += coreseg.c_size; + } -#ifdef CORE_FPU_OFFSET - switch (CORE_GETFLAG (coreseg)) - { - case CORE_CPU: - /* Hackish... */ - asect->_raw_size = CORE_FPU_OFFSET; - asect2 = bfd_make_section_anyway (abfd, ".reg2"); - if (asect2 == NULL) - goto punt; - asect2->_raw_size = coreseg.c_size - CORE_FPU_OFFSET; - asect2->vma = 0; - asect2->filepos = asect->filepos + CORE_FPU_OFFSET; - asect2->alignment_power = 2; - asect2->flags = SEC_ALLOC + SEC_HAS_CONTENTS; - break; - } -#endif + /* Set architecture from machine ID. */ + switch (CORE_GETMID (core)) + { + case M_X86_64_NETBSD: + bfd_default_set_arch_mach (abfd, bfd_arch_i386, bfd_mach_x86_64); + break; + + case M_386_NETBSD: + bfd_default_set_arch_mach (abfd, bfd_arch_i386, bfd_mach_i386_i386); + break; + + case M_68K_NETBSD: + case M_68K4K_NETBSD: + bfd_default_set_arch_mach (abfd, bfd_arch_m68k, 0); + break; + + case M_POWERPC_NETBSD: + bfd_default_set_arch_mach (abfd, bfd_arch_powerpc, bfd_mach_ppc); + break; + + case M_SPARC_NETBSD: + bfd_default_set_arch_mach (abfd, bfd_arch_sparc, bfd_mach_sparc); + break; + + case M_SPARC64_NETBSD: + case M_SPARC64_OPENBSD: + bfd_default_set_arch_mach (abfd, bfd_arch_sparc, bfd_mach_sparc_v9); + break; + + case M_VAX_NETBSD: + case M_VAX4K_NETBSD: + bfd_default_set_arch_mach (abfd, bfd_arch_vax, 0); + break; } /* OK, we believe you. You're a core file (sure, sure). */ |