| http://rt.perl.org/rt3/Ticket/Display.html?id=89502 |
| |
| --- perl-5.12.3/Configure 2011-02-21 09:18:09.000000000 +0000 |
| +++ perl-5.12.3/Configure 2011-02-21 09:38:49.000000000 +0000 |
| @@ -1275,6 +1275,9 @@ |
| elif test -n "$DJGPP"; then |
| : DOS DJGPP |
| _exe=".exe" |
| +elif test -f "/kern/cookiejar"; then |
| +: MiNT |
| + _exe="" |
| elif test -d c:/. -o -n "$is_os2" ; then |
| : OS/2 or cygwin |
| _exe=".exe" |
| @@ -1402,7 +1405,7 @@ |
| xcat=/bin/cat |
| test -f $xcat$_exe || xcat=/usr/bin/cat |
| if test ! -f $xcat$_exe; then |
| - for p in `echo $PATH | sed -e "s/$p_/ /g"` $paths; do |
| + for p in `echo $PATH | sed -e 's/$p_/ /g'` $paths; do |
| if test -f $p/cat$_exe; then |
| xcat=$p/cat |
| break |
| --- perl-5.12.3/ext/DynaLoader/dl_dld.xs 2010-11-21 21:40:55.000000000 +0000 |
| +++ perl-5.12.3/ext/DynaLoader/dl_dld.xs 2011-02-21 09:38:51.000000000 +0000 |
| @@ -116,6 +116,18 @@ |
| goto haverror; |
| } |
| |
| + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dld_link(libm.a)\n")); |
| + if (dlderr = dld_link("/usr/lib/libm.a")) { |
| + SaveError(aTHX_ "dld_link(libm.a): %s", dld_strerror(dlderr)); |
| + goto haverror; |
| + } |
| + |
| + DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dld_link(libc.a)\n")); |
| + if (dlderr = dld_link("/usr/lib/libc.a")) { |
| + SaveError(aTHX_ "dld_link(libc.a): %s", dld_strerror(dlderr)); |
| + goto haverror; |
| + } |
| + |
| max = AvFILL(dl_resolve_using); |
| for (x = 0; x <= max; x++) { |
| char *sym = SvPVX(*av_fetch(dl_resolve_using, x, 0)); |
| --- perl-5.12.3/malloc.c 2011-01-09 20:20:57.000000000 +0000 |
| +++ perl-5.12.3/malloc.c 2011-02-21 09:38:51.000000000 +0000 |
| @@ -264,7 +264,7 @@ |
| #define MIN_BUC_POW2 (sizeof(void*) > 4 ? 3 : 2) /* Allow for 4-byte arena. */ |
| #define MIN_BUCKET (MIN_BUC_POW2 * BUCKETS_PER_POW2) |
| |
| -#if !(defined(I286) || defined(atarist)) |
| +#if !defined(I286) |
| /* take 2k unless the block is bigger than that */ |
| # define LOG_OF_MIN_ARENA 11 |
| #else |
| @@ -551,8 +551,8 @@ |
| */ |
| #define u_short unsigned short |
| |
| -/* 286 and atarist like big chunks, which gives too much overhead. */ |
| -#if (defined(RCHECK) || defined(I286) || defined(atarist)) && defined(PACK_MALLOC) |
| +/* 286 like big chunks, which gives too much overhead. */ |
| +#if (defined(RCHECK) || defined(I286)) && defined(PACK_MALLOC) |
| # undef PACK_MALLOC |
| #endif |
| |
| @@ -1734,16 +1734,14 @@ |
| /* Second, check alignment. */ |
| slack = 0; |
| |
| -#if !defined(atarist) /* on the atari we dont have to worry about this */ |
| -# ifndef I286 /* The sbrk(0) call on the I286 always returns the next segment */ |
| +#ifndef I286 /* The sbrk(0) call on the I286 always returns the next segment */ |
| /* WANTED_ALIGNMENT may be more than NEEDED_ALIGNMENT, but this may |
| improve performance of memory access. */ |
| if (PTR2UV(cp) & (WANTED_ALIGNMENT - 1)) { /* Not aligned. */ |
| slack = WANTED_ALIGNMENT - (PTR2UV(cp) & (WANTED_ALIGNMENT - 1)); |
| add += slack; |
| } |
| -# endif |
| -#endif /* !atarist */ |
| +#endif |
| |
| if (add) { |
| DEBUG_m(PerlIO_printf(Perl_debug_log, |
| --- perl-5.12.3/miniperlmain.c 2011-01-09 20:20:57.000000000 +0000 |
| +++ perl-5.12.3/miniperlmain.c 2011-02-21 09:38:49.000000000 +0000 |
| @@ -45,7 +45,7 @@ |
| #if defined (atarist) |
| /* The Atari operating system doesn't have a dynamic stack. The |
| stack size is determined from this value. */ |
| -long _stksize = 64 * 1024; |
| +long _stksize = 256 * 1024; |
| #endif |
| |
| #if defined(PERL_GLOBAL_STRUCT_PRIVATE) |
| --- perl-5.12.3/os2/perlrexx.c 2010-11-21 21:40:56.000000000 +0000 |
| +++ perl-5.12.3/os2/perlrexx.c 2011-02-21 09:42:49.000000000 +0000 |
| @@ -38,7 +38,7 @@ |
| #if defined (atarist) |
| /* The Atari operating system doesn't have a dynamic stack. The |
| stack size is determined from this value. */ |
| -long _stksize = 64 * 1024; |
| +long _stksize = 256 * 1024; |
| #endif |
| |
| /* Register any extra external extensions */ |
| --- perl-5.12.3/perl.c 2011-02-21 09:17:19.000000000 +0000 |
| +++ perl-5.12.3/perl.c 2011-02-21 09:38:50.000000000 +0000 |
| @@ -3272,10 +3272,6 @@ |
| "\n\nOS/2 port Copyright (c) 1990, 1991, Raymond Chen, Kai Uwe Rommel\n" |
| "Version 5 port Copyright (c) 1994-2002, Andreas Kaiser, Ilya Zakharevich\n"); |
| #endif |
| -#ifdef atarist |
| - PerlIO_printf(PerlIO_stdout(), |
| - "atariST series port, ++jrb bammi@cadence.com\n"); |
| -#endif |
| #ifdef __BEOS__ |
| PerlIO_printf(PerlIO_stdout(), |
| "BeOS port Copyright Tom Spindler, 1997-1999\n"); |
| --- perl-5.12.3/perl.h 2011-01-09 20:20:57.000000000 +0000 |
| +++ perl-5.12.3/perl.h 2011-02-21 09:38:50.000000000 +0000 |
| @@ -497,7 +497,7 @@ |
| */ |
| |
| /* define this once if either system, instead of cluttering up the src */ |
| -#if defined(MSDOS) || defined(atarist) || defined(WIN32) || defined(NETWARE) |
| +#if defined(MSDOS) || defined(WIN32) || defined(NETWARE) |
| #define DOSISH 1 |
| #endif |
| |
| --- perl-5.12.3/perlio.c 2009-04-14 23:47:25.000000000 +0000 |
| +++ perl-5.12.3/perlio.c 2010-03-23 18:36:15.000000000 +0000 |
| @@ -135,17 +135,6 @@ |
| * This used to be contents of do_binmode in doio.c |
| */ |
| #ifdef DOSISH |
| -# if defined(atarist) |
| - PERL_UNUSED_ARG(iotype); |
| - if (!fflush(fp)) { |
| - if (mode & O_BINARY) |
| - ((FILE *) fp)->_flag |= _IOBIN; |
| - else |
| - ((FILE *) fp)->_flag &= ~_IOBIN; |
| - return 1; |
| - } |
| - return 0; |
| -# else |
| dTHX; |
| PERL_UNUSED_ARG(iotype); |
| #ifdef NETWARE |
| @@ -153,7 +142,7 @@ |
| #else |
| if (PerlLIO_setmode(fileno(fp), mode) != -1) { |
| #endif |
| -# if defined(WIN32) && defined(__BORLANDC__) |
| +# if defined(WIN32) && defined(__BORLANDC__) |
| /* |
| * The translation mode of the stream is maintained independent |
| of |
| @@ -169,12 +158,11 @@ |
| fp->flags |= _F_BIN; |
| else |
| fp->flags &= ~_F_BIN; |
| -# endif |
| +# endif |
| return 1; |
| } |
| else |
| return 0; |
| -# endif |
| #else |
| # if defined(USEMYBINMODE) |
| dTHX; |
| --- perl-5.12.3/pp_sys.c 2011-01-09 20:20:58.000000000 +0000 |
| +++ perl-5.12.3/pp_sys.c 2011-02-21 09:38:50.000000000 +0000 |
| @@ -3308,14 +3308,6 @@ |
| RETPUSHNO; |
| } |
| |
| -#if defined(atarist) /* this will work with atariST. Configure will |
| - make guesses for other systems. */ |
| -# define FILE_base(f) ((f)->_base) |
| -# define FILE_ptr(f) ((f)->_ptr) |
| -# define FILE_cnt(f) ((f)->_cnt) |
| -# define FILE_bufsiz(f) ((f)->_cnt + ((f)->_ptr - (f)->_base)) |
| -#endif |
| - |
| PP(pp_fttext) |
| { |
| dVAR; |
| @@ -5567,30 +5559,6 @@ |
| case 8: |
| retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]); |
| break; |
| -#ifdef atarist |
| - case 9: |
| - retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]); |
| - break; |
| - case 10: |
| - retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]); |
| - break; |
| - case 11: |
| - retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9], |
| - a[10]); |
| - break; |
| - case 12: |
| - retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9], |
| - a[10],a[11]); |
| - break; |
| - case 13: |
| - retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9], |
| - a[10],a[11],a[12]); |
| - break; |
| - case 14: |
| - retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9], |
| - a[10],a[11],a[12],a[13]); |
| - break; |
| -#endif /* atarist */ |
| } |
| SP = ORIGMARK; |
| PUSHi(retval); |
| --- perl-5.12.3/util.c 2011-01-09 20:20:58.000000000 +0000 |
| +++ perl-5.12.3/util.c 2011-02-21 09:38:51.000000000 +0000 |
| @@ -2545,7 +2545,7 @@ |
| return PerlIO_fdopen(p[This], mode); |
| } |
| #else |
| -#if defined(atarist) || defined(EPOC) |
| +#if defined(EPOC) |
| FILE *popen(); |
| PerlIO * |
| Perl_my_popen(pTHX_ const char *cmd, const char *mode) |
| @@ -2994,7 +2994,7 @@ |
| } |
| #endif |
| |
| -#if defined(atarist) || defined(OS2) || defined(EPOC) |
| +#if defined(OS2) || defined(EPOC) |
| int pclose(); |
| #ifdef HAS_FORK |
| int /* Cannot prototype with I32 |
| @@ -3111,7 +3111,7 @@ |
| I32 len = 0; |
| int retval; |
| char *bufend; |
| -#if defined(DOSISH) && !defined(OS2) && !defined(atarist) |
| +#if defined(DOSISH) && !defined(OS2) |
| # define SEARCH_EXTS ".bat", ".cmd", NULL |
| # define MAX_EXT_LEN 4 |
| #endif |
| @@ -3234,28 +3234,25 @@ |
| |
| bufend = s + strlen(s); |
| while (s < bufend) { |
| -#if defined(atarist) || defined(DOSISH) |
| +#if defined(DOSISH) |
| for (len = 0; *s |
| -# ifdef atarist |
| - && *s != ',' |
| -# endif |
| && *s != ';'; len++, s++) { |
| if (len < sizeof tmpbuf) |
| tmpbuf[len] = *s; |
| } |
| if (len < sizeof tmpbuf) |
| tmpbuf[len] = '\0'; |
| -#else /* ! (atarist || DOSISH) */ |
| +#else /* ! (DOSISH) */ |
| s = delimcpy(tmpbuf, tmpbuf + sizeof tmpbuf, s, bufend, |
| ':', |
| &len); |
| -#endif /* ! (atarist || DOSISH) */ |
| +#endif /* ! (DOSISH) */ |
| if (s < bufend) |
| s++; |
| if (len + 1 + strlen(scriptname) + MAX_EXT_LEN >= sizeof tmpbuf) |
| continue; /* don't search dir with too-long name */ |
| if (len |
| -# if defined(atarist) || defined(DOSISH) |
| +# if defined(DOSISH) |
| && tmpbuf[len - 1] != '/' |
| && tmpbuf[len - 1] != '\\' |
| # endif |
| --- perl-5.12.3/hints/freemint.sh 2011-01-09 20:20:58.000000000 +0000 |
| +++ perl-5.12.3/hints/freemint.sh 2011-02-21 09:38:51.000000000 +0000 |
| @@ -0,0 +1,34 @@ |
| +# hints/freemint.sh |
| +# |
| +# talk to guido@freemint.de if you want to change this file. |
| +# Please read the README.mint file. |
| +# |
| +# misc stuff |
| + |
| +archname="m68k-freemint" |
| + |
| +cccdlflags=' '; # avoid -fPIC |
| +ccdlflags="-Wl,-whole-archive -lgcc -lpthread -Wl,-no-whole-archive" |
| + |
| +# libs |
| +libpth="$prefix/lib /usr/local/lib /usr/lib" |
| +glibpth="$libpth" |
| +xlibpth="$libpth" |
| + |
| +ccflags="$ccflags -D_GNU_SOURCE" |
| +libswanted='m dld' |
| +dl_src='dl_dld.xs' |
| +dlext='o' |
| +lddlflags='-r' |
| +ldflags='-static' |
| +so='none' |
| +useshrplib='false' |
| + |
| +#sbrk() returns -1 (failure) somewhere in lib/unicore/mktables at |
| +#around 14M, so we need to use system malloc() as our sbrk() |
| +malloc_cflags='ccflags="-DUSE_PERL_SBRK -DPERL_SBRK_VIA_MALLOC $ccflags"' |
| + |
| +# Locales aren't feeling well. We crash if -Ox used. |
| +locale_cflags='optimize="-O0"' |
| +LC_ALL=C; export LC_ALL; |
| +LANG=C; export LANG; |