diff options
author | Aaron Crane <arc@cpan.org> | 2016-11-11 11:20:14 +0100 |
---|---|---|
committer | Aaron Crane <arc@cpan.org> | 2016-11-11 11:20:14 +0100 |
commit | 5c5db62f010163c7c8a00f5b4aab243aacf62342 (patch) | |
tree | 5cd566a3c6ad9782f4b945adcc8a0d4631c3bd37 | |
parent | cc2b46b563e1a9147700b04d0d2e529ae63e2e12 (diff) | |
download | perl-5c5db62f010163c7c8a00f5b4aab243aacf62342.tar.gz |
Drop support for Linux a.out
Linux has used ELF for over twenty years.
-rw-r--r-- | hints/linux.sh | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/hints/linux.sh b/hints/linux.sh index fb5a46eece..3f38ea07f1 100644 --- a/hints/linux.sh +++ b/hints/linux.sh @@ -221,92 +221,6 @@ case "$libc" in ;; esac -# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com> -# for this test. -cat >try.c <<'EOM' -/* Test for whether ELF binaries are produced */ -#include <fcntl.h> -#include <stdlib.h> -#include <unistd.h> -main() { - char buffer[4]; - int i=open("a.out",O_RDONLY); - if(i==-1) - exit(1); /* fail */ - if(read(i,&buffer[0],4)<4) - exit(1); /* fail */ - if(buffer[0] != 127 || buffer[1] != 'E' || - buffer[2] != 'L' || buffer[3] != 'F') - exit(1); /* fail */ - exit(0); /* succeed (yes, it's ELF) */ -} -EOM -if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then - cat <<'EOM' >&4 - -You appear to have ELF support. I'll try to use it for dynamic loading. -If dynamic loading doesn't work, read hints/linux.sh for further information. -EOM - -else - cat <<'EOM' >&4 - -You don't have an ELF gcc. I will use dld if possible. If you are -using a version of DLD earlier than 3.2.6, or don't have it at all, you -should probably upgrade. If you are forced to use 3.2.4, you should -uncomment a couple of lines in hints/linux.sh and restart Configure so -that shared libraries will be disallowed. - -EOM - lddlflags="-r $lddlflags" - # These empty values are so that Configure doesn't put in the - # Linux ELF values. - ccdlflags=' ' - cccdlflags=' ' - ccflags="-DOVR_DBL_DIG=14 $ccflags" - so='sa' - dlext='o' - nm_so_opt=' ' - ## If you are using DLD 3.2.4 which does not support shared libs, - ## uncomment the next two lines: - #ldflags="-static" - #so='none' - - # In addition, on some systems there is a problem with perl and NDBM - # which causes AnyDBM and NDBM_File to lock up. This is evidenced - # in the tests as AnyDBM just freezing. Apparently, this only - # happens on a.out systems, so we disable NDBM for all a.out linux - # systems. If someone can suggest a more robust test - # that would be appreciated. - # - # More info: - # Date: Wed, 7 Feb 1996 03:21:04 +0900 - # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp> - # - # I tried compiling with DBM support and sure enough things locked up - # just as advertised. Checking into it, I found that the lockup was - # during the call to dbm_open. Not *in* dbm_open -- but between the call - # to and the jump into. - # - # To make a long story short, making sure that the *.a and *.sa pairs of - # /usr/lib/lib{m,db,gdbm}.{a,sa} - # were perfectly in sync took care of it. - # - # This will generate a harmless Whoa There! message - case "$d_dbm_open" in - '') cat <<'EOM' >&4 - -Disabling ndbm. This will generate a Whoa There message in Configure. -Read hints/linux.sh for further information. -EOM - # You can override this with Configure -Dd_dbm_open - d_dbm_open=undef - ;; - esac -fi - -rm -f try.c a.out - if ${sh:-/bin/sh} -c exit; then echo '' echo 'You appear to have a working bash. Good.' |