diff options
author | Larry Wall <lwall@netlabs.com> | 1992-06-08 04:49:43 +0000 |
---|---|---|
committer | Larry Wall <lwall@netlabs.com> | 1992-06-08 04:49:43 +0000 |
commit | b3634b015bfd34ae2ab484f115256d52ae40d683 (patch) | |
tree | 318335f0dfbcc9c7b778d747fecc6b87e64d02c9 /hints | |
parent | 988174c19bcf26f6c6e0551f1dfbba78203bc2ce (diff) | |
download | perl-b3634b015bfd34ae2ab484f115256d52ae40d683.tar.gz |
perl 4.0 patch 20: (combined patch)
ENHANCEMENTS
Subject: relaxed requirement for semicolon at the end of a block
Subject: scalar keys %array now counts keys for you
Subject: added ... as variant on ..
Subject: get*by* routines now return something useful in a scalar context
Subject: form feed for formats is now specifiable via $^L
Subject: PERLLIB now supports multiple directories
Subject: paragraph mode now skips extra newlines automatically
MANPAGE
Subject: documented that numbers may contain underline
Subject: clarified that DATA may only be read from main script
Subject: documented need for 1; at the end of a required file
Subject: extended bracket-style quotes to two-arg operators: s()() and tr()()
Subject: documented PERLLIB and PERLDB
Subject: documented limit on size of regexp
CONFIGURATION
Subject: bcopy() and memcpy() now tested for overlap safety
Subject: isascii() may now be supplied by a library routine
Subject: Configure now allows optional continuation with files missing
Subject: many more hints files added
Subject: many more hints added
Subject: hints now auto selected on uname -s as well as uname -m
Subject: OSF/1 support added
Subject: Configure growing-library-list bug fixed
Subject: seekdir(), telldir() and rewinddir() now checked for independently
Subject: cray didn't give enough memory to /bin/sh
Subject: perl -P now uses location of sed determined by Configure
Subject: SH files didn't work well with symbolic links
Subject: makefiles now display new shift/reduce expectations
Subject: support added to installperl for cross-compilation
Subject: a2p was installed unexecutable
Subject: installperl didn't warn on failed manpage installation
Subject: disabled cpp test if cppstdin not yet installed
PORTABILITY
Subject: O_PIPE conflicted with Atari
Subject: config.H updated to reflect more recent config.h
Subject: removed implicit int declarations on functions
Subject: added Atari ST portability
Subject: some machines don't define ENOTSOCK in errno.h
Subject: added explicit time_t support
Subject: alternate config.h files upgraded
Subject: new OS/2 support
COMPILER
Subject: various error messages have been clarified
Subject: the switch optimizer didn't do anything in subroutines
Subject: clarified debugging output for literals and double-quoted strings
Subject: new warning for use of x with non-numeric right operand
Subject: illegal lvalue message could be followed by core dump
Subject: new warning for ambiguous use of unary operators
Subject: eval "1 #comment" didn't work
Subject: semantic compilation errors didn't abort execution
Subject: an expression may now start with a bareword
Subject: if {block} {block} didn't work any more
Subject: "$var{$foo'bar}" didn't scan subscript correctly
Subject: an EXPR may now start with a bareword
Subject: print $fh EXPR can now expect term rather than operator in EXPR
Subject: new warning on spurious backslash
Subject: new warning on missing $ for foreach variable
Subject: "foo"x1024 now legal without space after x
Subject: new warning on print accidentally used as function
Subject: 2. now eats the dot
Subject: <@ARGV> now notices @ARGV
Subject: tr/// now lets you say \-
RUNTIME
Subject: an eval block containing a null block or statement could dump core
Subject: modulus with highest bit in left operand set didn't always work
Subject: join() now pre-extends target string to avoid excessive copying
Subject: subroutines didn't localize $`, $&, $', $1 et al correctly
Subject: usersub routines didn't reclaim temp values soon enough
Subject: ($<,$>) = ... didn't work on some architectures
Subject: fixed memory leak on system() for vfork() machines
Subject: @ in unpack failed too often
Subject: slice on null list in scalar context returned random value
Subject: splice with negative offset didn't work with $[ = 1
Subject: fixed some memory leaks in splice
Subject: dbmclose(%array) didn't work
Subject: delete could cause %array to give too low a count of buckets filled
Subject: hash tables now split only if the memory is available to do so
Subject: realloc(0, size) now does malloc in case library routines call it
Subject: running taintperl explicitly now does checks even if $< == $>
Subject: fixed memory leak in doube-quote interpretation
Subject: a splice on non-existent array elements could dump core
Subject: tr/stuff// wasn't working right
I/O
Subject: new warnings for failed use of stat operators on filenames with \n
Subject: wait failed when STDOUT or STDERR reopened to a pipe
Subject: end of file latch not reset on reopen of STDIN
Subject: seek(HANDLE, 0, 1) went to eof because of ancient Ultrix workaround
Subject: h_errno now accessible via $?
REGEXP
Subject: pattern modifiers i and o didn't interact right
Subject: g pattern modifer sometimes returned extra values
Subject: m/$pattern/g didn't work
Subject: /^stuff/ wrongly assumed an implicit $* == 1
Subject: /x{0}/ was wrongly interpreted as /x{0,}/
Subject: added \W, \S and \D inside /[...]/
Subject: pattern modifiers i and g didn't interact right
Subject: in some cases $` and $' didn't get set by match
Subject: made /\$$foo/ look for literal '$foo'
LIBRARIES
Subject: big*.pl library files upgraded
Subject: better support in chat2 for multiple children
Subject: &ctime didn't handle $[ != 0
Subject: find.pl got confused by unreadable directories
Subject: new version of newgetopt.pl
Subject: Tom's famous double-ended pipe opener, open2(), is now included
Subject: support added to pwd.pl to strip automounter crud
Subject: &shellwords looped on bad input, and used inefficient regular exprs
Subject: termcap.pl didn't parse termcap terminal names right
Subject: timelocal could loop on bad input
Subject: timelocal now calculates DST itself
Subject: &getcap eventually dumped core in bsdcurses
DEBUGGER
Subject: support for MSDOS folded into perldb.pl
Subject: perldb couldn't debug file containing '-', such as STDIN designator
Subject: the debugger now warns you on lines that can't set a breakpoint
Subject: the debugger made perl forget the last pattern used by //
Subject: fixed double debug break in foreach with implicit array assignment
Subject: debugger sometimes displayed wrong source line
INTERSTICES
Subject: Perl now distinguishes overlapped copies from non-overlapped
Subject: fixed confusion between a *var's real name and its effective name
Subject: deleted some minor memory leaks
Subject: couldn't require . files
Subject: -e 'cmd' no longer fails silently if /tmp runs out of space
Subject: function key support added to curses.mus
TRANSLATORS
Subject: find2perl assumed . in PATH
Subject: find2perl didn't output portable startup code
Subject: find2perl didn't always stat at the right time
Subject: s2p didn't output portable startup code
Subject: s2p didn't translate s/pat/\&/ or s/pat/\$/ or s/pat/\\1/ right
Subject: in a2p, getline should allow variable to be array element
Subject: in a2p, now warns about spurious backslashes
Subject: in a2p, now allows [ to be backslashed in pattern
Subject: in a2p, now allows numbers of the form 2.
Subject: in a2p, simplified the filehandle model
Subject: in a2p, made RS="" translate to $/ = "\n\n"
Subject: in a2p, do {...} while ... was missing some reconstruction code
Diffstat (limited to 'hints')
-rw-r--r-- | hints/3b1.sh | 17 | ||||
-rw-r--r-- | hints/3b1cc | 86 | ||||
-rw-r--r-- | hints/aix_rs.sh | 15 |
3 files changed, 113 insertions, 5 deletions
diff --git a/hints/3b1.sh b/hints/3b1.sh index 8c9f5a909a..2ed65c591b 100644 --- a/hints/3b1.sh +++ b/hints/3b1.sh @@ -1,4 +1,15 @@ d_voidsig='undef' -d_tosignal='int'; -echo "If you're going to use shared libraries, don't include -lmalloc, and" -echo "change cc to '/bin/ccc' when editing config.sh at the end." +d_tosignal='int' +gidtype='int' +groupstype='int' +uidtype='int' +# Note that 'Configure' is run from 'UU', hence the strange 'ln' +# command. +for i in .. ../x2p +do + rm -f $i/3b1cc + ln ../hints/3b1cc $i +done +echo "\nIf you want to use the 3b1 shared libraries, complete this script then" +echo "read the header in 3b1cc. [Type carriage return to continue]\c" +read vch diff --git a/hints/3b1cc b/hints/3b1cc new file mode 100644 index 0000000000..5570fbdccb --- /dev/null +++ b/hints/3b1cc @@ -0,0 +1,86 @@ +# To incorporate the 7300/3b1 shared library, run this script in place +# of 'CC'. +# First: Run 'Configure' through to the end and run 'make depend'. +# Second: Edit 'makefile' ( not Makefile ) and set CC = 3b1cc. +# Third: Edit 'x2p/makefile' and set CC = 3b1cc. +# +# Do not use '3b1cc' as the default compiler. The call to the default +# compiler is used by 'perl' and will not be available when running +# 'perl'. +# +# Note: This script omits libraries which are redundant in the shared +# library. It is an excerpt from a grander version available upon +# request from "zebra!vern" or "vern@zebra.alphacdc.com". + +CC="cc" +LIBS= +INCL= + +LD="ld" +SHAREDLIB="/lib/crt0s.o /lib/shlib.ifile" + +# Local variables +COBJS= +LOBJS= +TARG= +FLAGS= +CMD= + +# These are libraries which are incorporated in the shared library +OMIT="-lmalloc" + +# These routines are in libc.a but not in the shared library +if [ ! -f vsprintf.o -o ! -f doprnt.o ] +then + echo "Extracting vsprintf.o from libc.a" + ar -x /lib/libc.a vsprintf.o doprnt.o +fi + +CMD="$CC" +while [ $# -gt 0 ] +do + case $1 in + -c) CFLAG=$1;; + -o) CFLAG=$1 + shift + TARG="$1";; + -l*) match=false + for i in $OMIT + do + [ "$i" = "$1" ] && match=true + done + [ "$match" != false ] || LIBS="$LIBS $1";; + -*) FLAGS="$FLAGS $1";; + *.c) COBJS="$COBJS $1";; + *.o) LOBJS="$LOBJS $1";; + *) TARG="$1";; + esac + shift +done + +if [ -n "$COBJS" ] +then + CMD="$CMD $FLAGS $INCL $LPATHS $LIBS $COBJS $CFLAG $TARG" +elif [ -n "$LOBJS" ] +then + LOBJS="$LOBJS vsprintf.o doprnt.o" + CMD="$LD -r $LOBJS $LPATHS $LIBS -o temp.o" + echo "\t$CMD" + $CMD + CMD="$LD -s temp.o $SHAREDLIB -o $TARG" + echo "\t$CMD" + $CMD + ccrslt=$? + if [ $ccrslt -ne 0 ] + then + exit $ccrslt + fi + CMD="rm -f temp.o" +else + exit 1 +fi +echo "\t$CMD" +$CMD +ccrslt=$? +rm -f $$.c +exit $ccrslt diff --git a/hints/aix_rs.sh b/hints/aix_rs.sh index 9b845a70ae..76e55ca4b4 100644 --- a/hints/aix_rs.sh +++ b/hints/aix_rs.sh @@ -1,7 +1,18 @@ +d_setregid='undef' +d_setreuid='undef' +d_setrgid='undef' +d_setruid='undef' +d_setegid='undef' +d_seteuid='undef' +alignbytes=8 +dolist_cflags='optimize=""' +tdolist_cflags='optimize=""' +regexec_cflags='optimize=""' +tregexec_cflags='optimize=""' eval_cflags='optimize=""' -toke_cflags='optimize=""' teval_cflags='optimize=""' +toke_cflags='optimize=""' ttoke_cflags='optimize=""' ccflags="$ccflags -D_NO_PROTO" -cppstdin='/lib/cpp -D_AIX -D_IBMR2' +cppstdin='/lib/cpp -D_AIX -D_IBMR2 -U__STR__' cppminus='' |