diff options
author | arved <arved@FreeBSD.org> | 2003-06-03 08:16:58 +0000 |
---|---|---|
committer | arved <arved@FreeBSD.org> | 2003-06-03 08:16:58 +0000 |
commit | 86e84d62b8801df66a646e4894c41785e94ac2ba (patch) | |
tree | 005160870d59d12a186163c02140ede3cda583a8 /lang/TenDRA/files | |
parent | fa6db56ffe944ce93058599ec41171149c244364 (diff) | |
download | FreeBSD-ports-86e84d62b8801df66a646e4894c41785e94ac2ba.zip FreeBSD-ports-86e84d62b8801df66a646e4894c41785e94ac2ba.tar.gz |
- Update to CVS snapshot 20030526, which fixes the build problems on 5.x
- Give maintainership to submitter
"Unfortunately FreeBSD 5.x uses the GNU C extension
__attribute__((__aligned__(x))) in a couple of system headers
(<machine/npx.h>, <machine/signal.h> and <machine/ucontext.h> for i386). To
avoid a syntax error __aligned(x) is removed by a #define, but programs that
use struct sigcontext, struct savexmm or mcontext_t probably won't work."
PR: 52619
Submitted by: Stefan Farfeleder <stefan@fafoe.dyndns.org>
Diffstat (limited to 'lang/TenDRA/files')
-rw-r--r-- | lang/TenDRA/files/patch-aa | 189 | ||||
-rw-r--r-- | lang/TenDRA/files/patch-ab | 45 | ||||
-rw-r--r-- | lang/TenDRA/files/patch-ac | 45 | ||||
-rw-r--r-- | lang/TenDRA/files/patch-ad | 45 | ||||
-rw-r--r-- | lang/TenDRA/files/patch-af | 10 | ||||
-rw-r--r-- | lang/TenDRA/files/patch-ag | 59 | ||||
-rw-r--r-- | lang/TenDRA/files/patch-ah | 481 | ||||
-rw-r--r-- | lang/TenDRA/files/patch-aligned | 17 | ||||
-rw-r--r-- | lang/TenDRA/files/patch-default-gcc_dependency | 7 | ||||
-rw-r--r-- | lang/TenDRA/files/patch-install | 12 | ||||
-rw-r--r-- | lang/TenDRA/files/patch-limits.h | 26 |
11 files changed, 137 insertions, 799 deletions
diff --git a/lang/TenDRA/files/patch-aa b/lang/TenDRA/files/patch-aa deleted file mode 100644 index d2b0a22..0000000 --- a/lang/TenDRA/files/patch-aa +++ /dev/null @@ -1,189 +0,0 @@ ---- INSTALL.orig Fri Mar 27 11:47:29 1998 -+++ INSTALL Wed Jun 3 14:22:38 1998 -@@ -185,7 +185,7 @@ - if [ ! -f ${BASE_DIR}/COPYRIGHT ] - then - ${COMMENT} "Please set BASE_DIR in the INSTALL script" -- exit 1 -+ exit 2 - fi - - cat ${BASE_DIR}/COPYRIGHT -@@ -204,7 +204,7 @@ - TUNAME=${TEMP_DIR}/tuname_$$${EXEC_SUFFIX} - MACH_HEADER=${TEMP_DIR}/mach_$$.h - SRC=${BASE_DIR}/src/utilities/tuname --cd ${TEMP_DIR} || exit 1 -+cd ${TEMP_DIR} || exit 2 - make -f ${SRC}/Makefile CC="${CC}" ${TCCOPTS}\ - BASE=${BASE_DIR} NAME=${TUNAME} all - if [ -f ${TUNAME} ] -@@ -218,11 +218,11 @@ - if [ "X${MACH_OS}X" = "XunknownX" ] - then - ${COMMENT} Unknown machine type -- exit 1 -+ exit 2 - fi - else - ${COMMENT} Unknown machine type -- exit 1 -+ exit 2 - fi - - ${COMMENT} -@@ -307,7 +307,7 @@ - if [ ! -d ${DIR} ] - then - ${COMMENT} creating ${DIR} ... -- mkdir ${DIR} || exit 1 -+ mkdir ${DIR} || exit 2 - fi - done - -@@ -344,9 +344,9 @@ - if [ ! -d ${MACH_WORK}/${NAME} ] - then - ${COMMENT} creating ${MACH_WORK}/${NAME} ... -- mkdir ${MACH_WORK}/${NAME} || exit 1 -+ mkdir ${MACH_WORK}/${NAME} || exit 2 - fi -- cd ${MACH_WORK}/${NAME} || exit 1 -+ cd ${MACH_WORK}/${NAME} || exit 2 - EXEC=${MACH_BASE}/bin/${NAME}${EXEC_SUFFIX} - make -f ${SRC}/Makefile CC="${CC} ${CCOPTS}" ${TCCOPTS}\ - BASE=${BASE_DIR} NAME=${EXEC} all || BUILD_OK=false -@@ -398,7 +398,7 @@ - SRC=${BASE_DIR}/src/lib/machines/${MACH_OS}/${MACH_CPU}/src - if [ -f ${SRC}/Makefile ] - then -- cd ${MACH_BASE}/lib/sys || exit 1 -+ cd ${MACH_BASE}/lib/sys || exit 2 - make -f ${SRC}/Makefile CC="${CC} ${CCOPTS}" ${TCCOPTS}\ - BASE=${BASE_DIR} pre || BUILD_OK=false - ${COMMENT} -@@ -433,7 +433,7 @@ - 1,\$s%-TMPDIR-%${TEMP_DIR}%g - EOF - -- cd ${MACH_BASE}/env || exit 1 -+ cd ${MACH_BASE}/env || exit 2 - SRC=${BASE_DIR}/src/lib/env - ENVIRON_DIRS="${SRC}/common\ - ${SRC}/${MACH_OS}/common/common\ -@@ -523,10 +523,10 @@ - if ${BUILD_COMMON} - then - ${COMMENT} installing start-up files ... -- cd ${BASE_DIR}/src/lib || exit 1 -+ cd ${BASE_DIR}/src/lib || exit 2 - rm -f ${MACH_WORK}/startup.tar - tar cvf ${MACH_WORK}/startup.tar startup -- cd ${COMMON_DIR} || exit 1 -+ cd ${COMMON_DIR} || exit 2 - rm -rf startup - tar xvf ${MACH_WORK}/startup.tar - rm -f ${MACH_WORK}/startup.tar -@@ -568,10 +568,10 @@ - SRC=${BASE_DIR}/src/lib/machines/${MACH_OS}/${MACH_CPU} - if [ -d ${SRC} ] - then -- cd ${SRC} || exit 1 -+ cd ${SRC} || exit 2 - rm -f ${MACH_WORK}/machine.tar - tar cvf ${MACH_WORK}/machine.tar include startup -- cd ${MACH_BASE} || exit 1 -+ cd ${MACH_BASE} || exit 2 - rm -rf include - rm -rf startup - tar xvf ${MACH_WORK}/machine.tar -@@ -596,7 +596,7 @@ - SRC=${BASE_DIR}/src/lib/machines/${MACH_OS}/${MACH_CPU}/src - if [ -f ${SRC}/Makefile ] - then -- cd ${MACH_BASE}/lib/sys || exit 1 -+ cd ${MACH_BASE}/lib/sys || exit 2 - make -f ${SRC}/Makefile CC="${CC} ${CCOPTS}" ${TCCOPTS}\ - BASE=${BASE_DIR} all || BUILD_OK=false - fi -@@ -644,7 +644,7 @@ - if [ ! -d ${MACH_WORK}/${LIBDIR} ] - then - ${COMMENT} creating ${MACH_WORK}/${LIBDIR} ... -- mkdir ${MACH_WORK}/${LIBDIR} || exit 1 -+ mkdir ${MACH_WORK}/${LIBDIR} || exit 2 - fi - for API in `cat ${BASE_DIR}/src/build/APIS` ansi cpp - do -@@ -652,14 +652,14 @@ - if [ ! -d ${MACH_WORK}/${LIBDIR}/${API_NAME} ] - then - ${COMMENT} creating ${MACH_WORK}/${LIBDIR}/${API_NAME} ... -- mkdir ${MACH_WORK}/${LIBDIR}/${API_NAME} || exit 1 -+ mkdir ${MACH_WORK}/${LIBDIR}/${API_NAME} || exit 2 - fi - done - - SRC=${BASE_DIR}/src/lib/machines/${MACH_OS}/${MACH_CPU}/tokens - if [ -d ${SRC} ] - then -- cd ${MACH_WORK}/${LIBDIR}/ansi || exit 1 -+ cd ${MACH_WORK}/${LIBDIR}/ansi || exit 2 - make -f ${SRC}/Makefile TCC="${DIAG_CC}" BASE=${BASE_DIR}\ - basic || BUILD_OK=false - fi -@@ -669,7 +669,7 @@ - if [ -d ${SRC} ] - then - ${COMMENT} building basic C++ token definitions${DIAG_MSG} ... -- cd ${MACH_WORK}/${LIBDIR}/cpp || exit 1 -+ cd ${MACH_WORK}/${LIBDIR}/cpp || exit 2 - make -f ${SRC}/Makefile TCC="${DIAG_CC}" BASE=${BASE_DIR}\ - all || BUILD_OK=false - ${COMMENT} -@@ -683,7 +683,7 @@ - - if ${BUILD_MACHINE} - then -- cd ${MACH_WORK}/${LIBDIR} || exit 1 -+ cd ${MACH_WORK}/${LIBDIR} || exit 2 - for API in `cat ${BASE_DIR}/src/build/APIS` - do - API_NAME=`echo ${API} | sed -e 's%/%_%g'` -@@ -726,7 +726,7 @@ - then - ${COMMENT} building TDF standard token library${DIAG_MSG} ... - LIB=${MACH_BASE}/${LIBDIR}/target_tok.tl -- cd ${MACH_WORK}/${LIBDIR}/ansi || exit 1 -+ cd ${MACH_WORK}/${LIBDIR}/ansi || exit 2 - make -f ${SRC}/Makefile LIB=${LIB} TCC="${DIAG_CC}"\ - BASE=${BASE_DIR} all || BUILD_OK=false - ${COMMENT} -@@ -757,7 +757,7 @@ - if [ -f ${SRC}/Makefile ] - then - ${COMMENT} building crtp_n.o ... -- cd ${MACH_BASE}/lib/sys || exit 1 -+ cd ${MACH_BASE}/lib/sys || exit 2 - make -f ${SRC}/Makefile BASE=${BASE_DIR} all || BUILD_OK=false - ${COMMENT} - fi -@@ -771,9 +771,9 @@ - if [ ! -d ${MACH_WORK}/${NAME} ] - then - ${COMMENT} creating ${MACH_WORK}/${NAME} ... -- mkdir ${MACH_WORK}/${NAME} || exit 1 -+ mkdir ${MACH_WORK}/${NAME} || exit 2 - fi -- cd ${MACH_WORK}/${NAME} || exit 1 -+ cd ${MACH_WORK}/${NAME} || exit 2 - LIB=${MACH_BASE}/lib/sys/lib${NAME}.a - make -f ${SRC}/Makefile BASE=${BASE_DIR} NAME=${LIB}\ - MACHOPTS="${LIBOPTS}" RANLIB="${RANLIB}" all || BUILD_OK=false -@@ -799,5 +799,6 @@ - ${COMMENT} installation completed successfully - else - ${COMMENT} installation completed with errors -+ exit 1 - fi - exit 0 diff --git a/lang/TenDRA/files/patch-ab b/lang/TenDRA/files/patch-ab index a604d2c..eccd372 100644 --- a/lang/TenDRA/files/patch-ab +++ b/lang/TenDRA/files/patch-ab @@ -1,20 +1,25 @@ ---- src/installers/80x86/common/codec.c.orig Sat Jan 17 17:55:51 1998 -+++ src/installers/80x86/common/codec.c Wed Jun 3 14:27:33 1998 -@@ -267,7 +267,7 @@ - qw.where_exp = copyexp (dest.where_exp); - else - qw.where_exp = copyexp (reg0.where_exp); -- sh (qw.where_exp) = sha; -+ sh (qw.where_exp) = sh(a); - qw.where_off = 0; - coder (qw, stack, a); - (*op) (sha, qw, mw (b, 0), dest); -@@ -280,7 +280,7 @@ - qw.where_exp = copyexp (dest.where_exp); - else - qw.where_exp = copyexp (reg0.where_exp); -- sh (qw.where_exp) = sha; -+ sh (qw.where_exp) = sh(b); - qw.where_off = 0; - coder (qw, stack, b); - (*op) (sha, mw (a, 0), qw, dest); +Index: src/installers/80x86/common/codec.c +=================================================================== +RCS file: /usr/home/stefan/tendra/cvsup/tendra/src/installers/80x86/common/codec.c,v +retrieving revision 1.4 +diff -u -r1.4 codec.c +--- src/installers/80x86/common/codec.c 21 Dec 2002 21:31:32 -0000 1.4 ++++ src/installers/80x86/common/codec.c 14 May 2003 17:11:39 -0000 +@@ -202,7 +202,7 @@ + qw.where_exp = copyexp (dest.where_exp); + else + qw.where_exp = copyexp (reg0.where_exp); +- sh (qw.where_exp) = sha; ++ sh (qw.where_exp) = sh(a); + qw.where_off = 0; + coder (qw, stack, a); + (*op) (sha, qw, mw (b, 0), dest); +@@ -215,7 +215,7 @@ + qw.where_exp = copyexp (dest.where_exp); + else + qw.where_exp = copyexp (reg0.where_exp); +- sh (qw.where_exp) = sha; ++ sh (qw.where_exp) = sh(b); + qw.where_off = 0; + coder (qw, stack, b); + (*op) (sha, mw (a, 0), qw, dest); diff --git a/lang/TenDRA/files/patch-ac b/lang/TenDRA/files/patch-ac index 568b877..d49097a 100644 --- a/lang/TenDRA/files/patch-ac +++ b/lang/TenDRA/files/patch-ac @@ -1,20 +1,25 @@ ---- src/installers/80x86/common/instr386.c.orig Sun Mar 15 18:00:20 1998 -+++ src/installers/80x86/common/instr386.c Sat Jun 6 13:43:25 1998 -@@ -5459,7 +5459,7 @@ - if (sz == 64) { - int riu = regsinuse; - regsinuse |= 0x2; -- move (shb, bottom, reg2); -+ move (ulongsh, bottom, reg2); /* can only be a simple constant */ - regsinuse = riu; - } - else -@@ -5727,7 +5727,7 @@ - if (sz == 64) { - int riu = regsinuse; - regsinuse |= 0x2; -- move (shb, bottom, reg2); -+ move (ulongsh, bottom, reg2); /* can only be a simple constant */ - regsinuse = riu; - } - else +Index: src/installers/80x86/common/instr386.c +=================================================================== +RCS file: /usr/home/stefan/tendra/cvsup/tendra/src/installers/80x86/common/instr386.c,v +retrieving revision 1.4 +diff -u -r1.4 instr386.c +--- src/installers/80x86/common/instr386.c 21 Dec 2002 21:31:56 -0000 1.4 ++++ src/installers/80x86/common/instr386.c 14 May 2003 17:14:29 -0000 +@@ -5250,7 +5250,7 @@ + if (sz == 64) { + int riu = regsinuse; + regsinuse |= 0x2; +- move (shb, bottom, reg2); ++ move (ulongsh, bottom, reg2); /* can only be a simple constant */ + regsinuse = riu; + } + else +@@ -5515,7 +5515,7 @@ + if (sz == 64) { + int riu = regsinuse; + regsinuse |= 0x2; +- move (shb, bottom, reg2); ++ move (ulongsh, bottom, reg2); /* can only be a simple constant */ + regsinuse = riu; + } + else diff --git a/lang/TenDRA/files/patch-ad b/lang/TenDRA/files/patch-ad index bcf1e1e..707177d 100644 --- a/lang/TenDRA/files/patch-ad +++ b/lang/TenDRA/files/patch-ad @@ -1,20 +1,25 @@ ---- src/installers/80x86/common/scan2.c.orig Sat Jan 17 17:55:52 1998 -+++ src/installers/80x86/common/scan2.c Thu Jun 11 16:49:17 1998 -@@ -944,7 +944,7 @@ - *bottom = son(*bottom); - } - else -- setsh (son(*bottom), ulongsh); -+ setsh (*bottom, ulongsh); - } - } - cc1 (sto, to, 1, e, notopnd, 1, usereg0); -@@ -1127,7 +1127,7 @@ - *arglist = son(*arglist); - } - else -- setsh (son(*arglist), (is_signed (sh (e)) ? slongsh : ulongsh)); -+ setsh (*arglist, (is_signed (sh (e)) ? slongsh : ulongsh)); - } - if (last(*arglist)) - break; +Index: src/installers/80x86/common/scan2.c +=================================================================== +RCS file: /usr/home/stefan/tendra/cvsup/tendra/src/installers/80x86/common/scan2.c,v +retrieving revision 1.4 +diff -u -r1.4 scan2.c +--- src/installers/80x86/common/scan2.c 21 Dec 2002 21:32:24 -0000 1.4 ++++ src/installers/80x86/common/scan2.c 20 May 2003 21:55:22 -0000 +@@ -843,7 +843,7 @@ + *bottom = son(*bottom); + } + else +- setsh (son(*bottom), ulongsh); ++ setsh (*bottom, ulongsh); + } + } + cc1 (sto, to, 1, e, notopnd, 1, usereg0); +@@ -1026,7 +1026,7 @@ + *arglist = son(*arglist); + } + else +- setsh (son(*arglist), (is_signed (sh (e)) ? slongsh : ulongsh)); ++ setsh (*arglist, (is_signed (sh (e)) ? slongsh : ulongsh)); + } + if (last(*arglist)) + break; diff --git a/lang/TenDRA/files/patch-af b/lang/TenDRA/files/patch-af deleted file mode 100644 index 28b5392..0000000 --- a/lang/TenDRA/files/patch-af +++ /dev/null @@ -1,10 +0,0 @@ ---- src/utilities/tuname/tuname.c.orig Mon Mar 16 13:26:37 1998 -+++ src/utilities/tuname/tuname.c Tue Sep 29 01:17:55 1998 -@@ -286,6 +286,7 @@ - - } else if ( strcmp ( sysname, "freebsd" ) == 0 ) { - machine = find_linux_machine ( machine ) ; -+ execform = find_linux_format ( argv [0] ) ; - - } else if ( strcmp ( sysname, "hp-ux" ) == 0 ) { - sysname = "hpux" ; diff --git a/lang/TenDRA/files/patch-ag b/lang/TenDRA/files/patch-ag deleted file mode 100644 index fe46438..0000000 --- a/lang/TenDRA/files/patch-ag +++ /dev/null @@ -1,59 +0,0 @@ ---- src/installers/80x86/common/assembler.h.orig Mon Mar 16 13:25:20 1998 -+++ src/installers/80x86/common/assembler.h Mon Sep 28 23:46:57 1998 -@@ -97,6 +97,9 @@ - #if islinux - extern void set_linux_format PROTO_S ((int elf)); /* machine.c */ - #endif -+#if isfreebsd -+extern void set_freebsd_format PROTO_S ((int elf)); /* machine.c */ -+#endif - extern void out_main_prelude PROTO_S ((void)); - extern void out_main_postlude PROTO_S ((void)); - #endif ---- src/installers/80x86/common/cproc.c.orig Mon Mar 16 13:25:21 1998 -+++ src/installers/80x86/common/cproc.c Mon Sep 28 23:48:05 1998 -@@ -687,6 +687,9 @@ - #if islinux - !linux_elf && - #endif -+#if isfreebsd -+ !freebsd_elf && -+#endif - pname[0] != local_prefix[0] && - !strcmp (pname+prefix_length, "main")) { - out_main_prelude(); -@@ -1003,6 +1006,9 @@ - if ( - #if islinux - !linux_elf && -+#endif -+#if isfreebsd -+ !freebsd_elf && - #endif - pname[0] != local_prefix[0] && - !strcmp (pname+prefix_length, "main")) { ---- src/installers/80x86/common/trans.c.orig Wed Mar 11 13:03:06 1998 -+++ src/installers/80x86/common/trans.c Mon Sep 28 23:49:29 1998 -@@ -387,6 +387,11 @@ - set_linux_format (s[2] == '1'); - break; - #endif -+#if isfreebsd -+ case 'k': -+ set_freebsd_format (s[2] == '1'); -+ break; -+#endif - #if issco - case 's': - sco_gas = 1; -@@ -402,6 +407,10 @@ - #if islinux - if (gcc_compatible < 0) - gcc_compatible = ! linux_elf; -+#endif -+#if isfreebsd -+ if (gcc_compatible < 0) -+ gcc_compatible = ! freebsd_elf; - #endif - - if (i == argc) diff --git a/lang/TenDRA/files/patch-ah b/lang/TenDRA/files/patch-ah deleted file mode 100644 index b522d5a..0000000 --- a/lang/TenDRA/files/patch-ah +++ /dev/null @@ -1,481 +0,0 @@ ---- src/installers/80x86/freebsd/Makefile.orig Mon Mar 16 12:38:37 1998 -+++ src/installers/80x86/freebsd/Makefile Mon Sep 28 16:28:42 1998 -@@ -1,8 +1,7 @@ - # Automatically generated by make_mf version 1.1 - - # Standard directories and files --#BASE=/u/g/release/Source --BASE=/usr/local/src/TenDRA-4.1.1 -+BASE=/u/g/release/Source - INST=${BASE}/src/installers - SRC=${INST}/80x86/freebsd - SRC1=${INST}/80x86/common -@@ -15,8 +14,8 @@ - - # Standard variables - --CC=gcc --#TCCOPTS=-Xc -Y32bit -Yansi -+CC=tcc -+TCCOPTS=-Xc -Y32bit -Yansi - CCOPTS=${TCCOPTS} -I${SRC} -I${SRC1} -I${SRC2} -I${SRC3} -I${SRC5}\ - -I${SRC6} - MAIN_CC=${CC} ${CCOPTS} -c -@@ -65,9 +64,11 @@ - ${SRC6}/ossg_api.h - ${MAIN_CC} ${SRC2}/aldefs.c - --assembler.o : ${SRC}/assembler.c ${SRC6}/basicread.h ${SRC1}/coder.h\ -- ${SRC6}/common_types.h ${SRC}/config.h ${SRC1}/expmacs.h\ -- ${SRC1}/localflags.h ${SRC2}/machine.h ${SRC1}/operand.h ${SRC1}/out.h\ -+assembler.o : ${SRC}/assembler.c ${SRC1}/assembler.h ${SRC6}/basicread.h\ -+ ${SRC1}/coder.h ${SRC6}/common_types.h ${SRC}/config.h ${SRC2}/exp.h\ -+ ${SRC1}/expmacs.h ${SRC2}/flags.h ${SRC2}/install_fns.h ${SRC1}/instr.h\ -+ ${SRC1}/instr386.h ${SRC1}/localflags.h ${SRC2}/machine.h\ -+ ${SRC1}/operand.h ${SRC1}/out.h ${SRC2}/shapemacs.h ${SRC6}/xalloc.h\ - ${SRC6}/codetypes.h ${SRC3}/dg_first.h ${SRC3}/dg_types.h\ - ${SRC}/diag_config.h ${SRC3}/diaginfo.h ${SRC3}/diagtypes.h\ - ${SRC1}/exptypes.h ${SRC2}/installtypes.h ${SRC5}/li_types.h\ ---- src/installers/80x86/freebsd/assembler.c.orig Mon Mar 16 12:38:37 1998 -+++ src/installers/80x86/freebsd/assembler.c Mon Sep 28 22:04:51 1998 -@@ -34,11 +34,21 @@ - #include "common_types.h" - #include "out.h" - #include "expmacs.h" -+#include "exp.h" -+#include "localflags.h" -+#include "shapemacs.h" - #include "operand.h" - #include "machine.h" --#include "localflags.h" -+#include "flags.h" - #include "basicread.h" - #include "coder.h" -+#include "assembler.h" -+#include "instr.h" -+#include "instr386.h" -+#include "xalloc.h" -+#include "install_fns.h" -+#include <string.h> -+ - - - /* PROCEDURES */ -@@ -47,6 +57,10 @@ - PROTO_N ( (n) ) - PROTO_T ( int n ) - { -+ if (freebsd_elf) { -+ outs(".align "); outn((long)n); outnl(); -+ return; -+ } - if (n == 1) - return; - outs(".align "); -@@ -60,6 +74,7 @@ - default: - n = 1; break; - }; -+ - outn((long)n); outnl(); - return; - } -@@ -90,34 +105,67 @@ - PROTO_N ( (f, jr) ) - PROTO_T ( int f X exp jr ) - { -- if (is80486 && !is80586 && ptno(jr) != last_jump_label) { -- if (f == 1) /* repeat jump */ -- outs(".align 3,0x90"); -- if (f == 2) /* preceded by a jmp or ret */ -- outs(".align 4,0x90"); -- if (f == 3) -- outs(".align 2,0x90"); -- outs("\n"); -- }; -- if (is80586 && ptno(jr) != last_jump_label) { -- if (f >= 1 && f <= 3) -- outs(".align 2,0x90\n"); -- }; -- return; -+ if (freebsd_elf) { -+ if (is80486 && !is80586 && ptno(jr) != last_jump_label) { -+/* forward jump and continued into -+ if (f==0) -+ outs(".align 8"); -+*/ -+ if (f == 1) /* repeat jump */ -+ outs(".align 4"); -+ if (f == 2) /* preceded by a jmp or ret */ -+ outs(".align 16"); -+ outs("\n"); -+ }; -+ return; -+ } -+ else { -+ if (is80486 && !is80586 && ptno(jr) != last_jump_label) { -+/* forward jump and continued into -+ if (f==0) -+ outs(".align 16,7,1"); -+*/ -+ if (f == 1) /* repeat jump */ -+ outs(".align 3,0x90"); -+ if (f == 2) /* preceded by a jmp or ret */ -+ outs(".align 4,0x90"); -+ if (f == 3) -+ outs(".align 2,0x90"); -+ outs("\n"); -+ }; -+ if (is80586 && ptno(jr) != last_jump_label) { -+ if (f >= 1 && f <= 3) -+ outs(".align 2,0x90\n"); -+ }; -+ return; -+ } - } - - void eval_postlude - PROTO_N ( (s, c) ) - PROTO_T ( char * s X exp c ) - { -- UNUSED(s); UNUSED(c); -+ if (!freebsd_elf) -+ return; -+ outs(".size "); -+ outs (s); -+ outs (","); -+ outn((long)(shape_size(sh(c))+7)/8); -+ outnl(); -+ outs(".type "); -+ outs (s); -+ outs (",@object"); -+ outnl(); - return; - } - - void out_readonly_section - PROTO_Z () - { -- outs (".text"); -+ if (freebsd_elf) -+ outs (".section .rodata"); -+ else -+ outs (".text"); - return; - } - -@@ -125,11 +173,12 @@ - PROTO_N ( (id, sha) ) - PROTO_T ( char * id X shape sha ) - { -- outs (".comm "); -- outs (id); -- outs (","); -- outn ((long)((( shape_size(sha)/ 8) + 3) / 4) * 4); -- outnl (); -+ outs (".comm "); -+ outs (id); -+ outs (","); -+ outn ((long)((( shape_size(sha)/ 8) + 3) / 4) * 4); -+ -+ outnl (); - return; - } - -@@ -137,11 +186,12 @@ - PROTO_N ( (id, sha) ) - PROTO_T ( char * id X shape sha ) - { -- outs (".lcomm "); -- outs (id); -- outs (","); -- outn ((long)((( shape_size(sha)/ 8) + 3) / 4) * 4); -- outnl (); -+ outs (".lcomm "); -+ outs (id); -+ outs (","); -+ outn ((long)((( shape_size(sha)/ 8) + 3) / 4) * 4); -+ -+ outnl (); - return; - } - -@@ -149,17 +199,27 @@ - PROTO_N ( (id, sha) ) - PROTO_T ( char * id X shape sha ) - { -- outs (".bss "); -- outs (id); -- outs (","); -- outn ((long)((( shape_size(sha)/ 8) + 3) / 4) * 4); -- outnl (); -+ outs (".bss "); -+ outs (id); -+ outs (","); -+ outn ((long)((( shape_size(sha)/ 8) + 3) / 4) * 4); -+ -+ outnl (); - return; - } - -+static int pic_label; -+ - void pic_prelude - PROTO_Z () - { -+ int n = next_lab(); -+ pic_label = n; -+ outs(" call "); outs(local_prefix); outn((long)n); outnl(); -+ outs(local_prefix); outn((long)n); outs(":"); outnl(); -+ outs(" popl %ebx"); outnl(); -+ outs(" addl $_GLOBAL_OFFSET_TABLE_+[.-"); outs(local_prefix); outn((long)n); outs("],%ebx"); -+ outnl(); - return; - } - -@@ -175,16 +235,47 @@ - PROTO_N ( (tab, a, min) ) - PROTO_T ( int tab X where a X int min ) - { -- outs (" jmp *"); -- outs(local_prefix); -- outn((long)tab); -- outs("-"); -- outn((long)(4 * min)); -- outs ("(,"); -- operand (32, a, 1, 0); -- outs (",4)"); -- outnl (); -- return; -+ if (PIC_code) { -+ if (min != 0) { -+ sub (slongsh, mw(zeroe,min), a, reg0); -+ a = reg0; -+ } -+ if (eq_where (a, reg0)) { -+ outs (" movl "); -+ } -+ else { -+ outs (" movl %ebx,%eax"); -+ outnl(); -+ outs (" subl "); -+ } -+ outs(local_prefix); -+ outn((long)tab); -+ outs("@GOTOFF(%ebx,"); -+ operand (32, a, 1, 0); -+ outs(",4),%eax"); -+ outnl(); -+ if (eq_where (a, reg0)) { -+ outs (" subl %ebx,%eax"); -+ outnl(); -+ outs (" negl %eax"); -+ outnl(); -+ } -+ outs(" jmp *%eax"); -+ outnl(); -+ return; -+ } -+ else { -+ outs (" jmp *"); -+ outs(local_prefix); -+ outn((long)tab); -+ outs("-"); -+ outn((long)(4 * min)); -+ outs ("(,"); -+ operand (32, a, 1, 0); -+ outs (",4)"); -+ outnl (); -+ return; -+ }; - } - - void out_switch_table -@@ -204,15 +295,31 @@ - for (i = min; i <= max; ++i) { - outs (".long "); - if (v[i - min] != -1) { -- outs(local_prefix); -- outn ((long)v[i - min]); -+ if (PIC_code) { -+ outs(" _GLOBAL_OFFSET_TABLE_+[.-"); -+ outs(local_prefix); -+ outn ((long)v[i - min]); -+ outs("]"); -+ } -+ else { -+ outs(local_prefix); -+ outn ((long)v[i - min]); -+ } - } - else { - if (absent == -1) - outn ((long)0); - else { -- outs(local_prefix); -- outn ((long)absent); -+ if (PIC_code) { -+ outs(" _GLOBAL_OFFSET_TABLE_+[.-"); -+ outs(local_prefix); -+ outn ((long)absent); -+ outs("]"); -+ } -+ else { -+ outs(local_prefix); -+ outn ((long)absent); -+ } - }; - }; - outnl (); -@@ -248,7 +355,7 @@ - - void outend - PROTO_Z () --{ -+{ /* close the output */ - int st; - outs(".text"); - outnl(); -@@ -287,8 +394,18 @@ - PROTO_N ( (id) ) - PROTO_T ( char* id ) - { -- outs(".stabs \"___TDFI_LIST__\",22,0,0,"); -+ if (!freebsd_elf) { -+ outs(".stabs \"___TDFI_LIST__\",22,0,0,"); -+ outs (id); -+ outnl (); -+ outnl (); -+ return; -+ } -+ outs (".section .init\n"); -+ outs (" call "); - outs (id); -+ if (PIC_code) -+ outs ("@PLT"); - outnl (); - outnl (); - return; -@@ -296,7 +413,7 @@ - - - void out_main_prelude -- PROTO_Z () -+ PROTO_Z () /* if (!freebsd_elf) */ - { - int nl1 = next_lab (); - int nl2 = next_lab (); -@@ -318,7 +435,7 @@ - } - - void out_main_postlude -- PROTO_Z () -+ PROTO_Z () /* if (!freebsd_elf) */ - { - char * sdummy = "Idummy"; - char * pdummy = (char *) xcalloc (((int)strlen(local_prefix) + -@@ -332,3 +449,4 @@ - out_initialiser(pdummy); - return; - } -+ ---- src/installers/80x86/freebsd/config.h.orig Mon Mar 16 13:25:23 1998 -+++ src/installers/80x86/freebsd/config.h Mon Sep 28 22:08:24 1998 -@@ -57,7 +57,7 @@ - #define issol86 0 - #define islinux 0 - #define isfreebsd 1 --#define remove_struct_ref 1 -+#define remove_struct_ref (!freebsd_elf) - - #define has_setcc 1 - #define little_end 1 -@@ -84,7 +84,7 @@ - #define do_case_transforms 1 - #define substitute_complex 1 - #define has_rotate 1 --#define GCC_STRUCTS 1 -+#define GCC_STRUCTS -1 /* (freebsd_elf ? 0 : 1) */ - - - #define maxmin_implemented 1 -@@ -96,7 +96,8 @@ - #define value_of_null 0 - #define no_trap_on_nil_contents 1 - --#define prefix_length 1 /* strlen(name_prefix) */ -+extern int freebsd_elf; /* machine.c */ -+#define prefix_length (freebsd_elf ? 0 : 1) /* strlen(name_prefix) */ - #define AVOID_INTOV 0 /* No software interrupts */ - #define normal_fpucon 0x1272 - ---- src/installers/80x86/freebsd/diag_out.c.orig Fri Mar 27 11:47:50 1998 -+++ src/installers/80x86/freebsd/diag_out.c Mon Sep 28 22:12:37 1998 -@@ -248,13 +248,17 @@ - - if (seg != 0) /* 0 suppresses always */ - { -- if (seg < 0) -+ if (seg < 0 && !freebsd_elf) - seg = - seg; - if (seg > 0) /* -ve line nos are put out in the stabs */ - { - i = next_lab () ; - fprintf ( dg_file, "%sL.%ld:\n", local_prefix, i ) ; - fprintf ( dg_file, "\t.stabn\t0x%x,0,%ld,%sL.%ld",seg, lno, local_prefix, i ) ; -+ if (freebsd_elf && in_proc) { -+ outs ("-"); -+ out_procname (); -+ } - outnl (); - } - } ---- src/installers/80x86/freebsd/machine.c.orig Mon Mar 16 12:38:37 1998 -+++ src/installers/80x86/freebsd/machine.c Mon Sep 28 22:14:25 1998 -@@ -40,13 +40,33 @@ - #include "szs_als.h" - - /* VARIABLES */ -+/* All variables are initialised, jmf */ - --char * local_prefix = "L"; --char * name_prefix = "_"; -+int freebsd_elf = 1; -+ -+char * local_prefix = ".L"; -+char * name_prefix = ""; - - - - /* PROCEDURES */ -+ -+void set_freebsd_format -+ PROTO_N ( (elf) ) -+ PROTO_T ( int elf ) -+{ -+ freebsd_elf = elf; -+ if (elf) { -+ local_prefix = ".L"; -+ name_prefix = ""; -+ } -+ else { -+ local_prefix = "L"; -+ name_prefix = "_"; -+ } -+ return; -+} -+ - - /* is the result of a procedure delivering - this shape produced in registers. */ ---- src/installers/80x86/freebsd/trans.1.orig Mon Mar 16 12:38:37 1998 -+++ src/installers/80x86/freebsd/trans.1 Mon Mar 16 13:25:24 1998 -@@ -94,7 +94,7 @@ - .IP \fB-K\fIstr\fR - Causes \fBtrans386\fR to optimise its code for a particular processor - model, determined by \fIstr\fR. The available values of \fIstr\fR are --3 for the 80386, 4 for the 80486 (the default) and 5 for the Pentium. -+3 for the 80386, 4 for the 80486 and 5 for the Pentium (the default). - So \fB-K3\fR means optimise for the 80386 etc. - .\" ---------------------------------------------------------------------- - .IP \fB-M\fIswitch\fR diff --git a/lang/TenDRA/files/patch-aligned b/lang/TenDRA/files/patch-aligned new file mode 100644 index 0000000..2c90747 --- /dev/null +++ b/lang/TenDRA/files/patch-aligned @@ -0,0 +1,17 @@ +Index: src/lib/machines/freebsd/80x86/include/gcc_dependency.h +=================================================================== +RCS file: /usr/home/stefan/tendra/cvsup/tendra/src/lib/machines/freebsd/80x86/include/gcc_dependency.h,v +retrieving revision 1.1 +diff -c -u -r1.1 gcc_dependency.h +--- src/lib/machines/freebsd/80x86/include/gcc_dependency.h 18 Feb 2003 07:35:09 -0000 1.1 ++++ src/lib/machines/freebsd/80x86/include/gcc_dependency.h 25 Feb 2003 10:32:53 -0000 +@@ -17,4 +17,9 @@ + + #pragma TenDRA unknown directive warning + ++/* Work around __aligned() */ ++#ifndef __aligned ++#define __aligned(x) /* nothing */ ++#endif ++ + #endif /* __FREEBSD_GCC_DEPENDENCY_H__ */ diff --git a/lang/TenDRA/files/patch-default-gcc_dependency b/lang/TenDRA/files/patch-default-gcc_dependency new file mode 100644 index 0000000..1e041d0 --- /dev/null +++ b/lang/TenDRA/files/patch-default-gcc_dependency @@ -0,0 +1,7 @@ +--- src/lib/env/common/default.orig Tue May 13 01:35:23 2003 ++++ src/lib/env/common/default Tue May 13 01:35:42 2003 +@@ -55,3 +55,4 @@ + + /* Extra information */ + +++FLAG "-f<TENDRA_MACHDIR>/include/gcc_dependency.h" diff --git a/lang/TenDRA/files/patch-install b/lang/TenDRA/files/patch-install new file mode 100644 index 0000000..2d0a32c --- /dev/null +++ b/lang/TenDRA/files/patch-install @@ -0,0 +1,12 @@ +--- mk/base/tendra.install.mk.orig Mon Mar 31 10:00:01 2003 ++++ mk/base/tendra.install.mk Mon May 12 21:20:53 2003 +@@ -60,6 +60,9 @@ + for i in ${.OBJDIR}.api/*.h; do \ + ${INSTALL} $$i ${INSTALL_PREFIX}/lib/include/${API}.api; \ + done ++ for i in `${FIND} ${.OBJDIR}.api/ -type d -mindepth 1` ; do \ ++ ${CP} -pR $$i ${INSTALL_PREFIX}/lib/include/${API}.api; \ ++ done + for i in ${.OBJDIR:C/apis/apis\/shared/}.api/*.h; do \ + ${INSTALL} $$i ${INSTALL_PREFIX}/lib/include/shared/${API}.api; \ + done diff --git a/lang/TenDRA/files/patch-limits.h b/lang/TenDRA/files/patch-limits.h new file mode 100644 index 0000000..f1dcbde --- /dev/null +++ b/lang/TenDRA/files/patch-limits.h @@ -0,0 +1,26 @@ +Index: src/lib/apis/posix/limits.h +=================================================================== +RCS file: /usr/home/stefan/tendra/cvsup/tendra/src/lib/apis/posix/limits.h,v +retrieving revision 1.1 +diff -c -u -r1.1 limits.h +--- src/lib/apis/posix/limits.h 26 Jan 2002 21:31:34 -0000 1.1 ++++ src/lib/apis/posix/limits.h 17 Feb 2003 14:54:23 -0000 +@@ -28,14 +28,14 @@ + +IMPLEMENT "ansi", "limits.h" ; + + +DEFINE _POSIX_ARG_MAX 4096 ; +-+DEFINE _POSIX_CHILD_MAX 6 ; +++CONST int _POSIX_CHILD_MAX ; + +DEFINE _POSIX_LINK_MAX 8 ; + +DEFINE _POSIX_MAX_CANON 255 ; + +DEFINE _POSIX_MAX_INPUT 255 ; + +DEFINE _POSIX_NAME_MAX 14 ; +-+DEFINE _POSIX_NGROUPS_MAX 0 ; +-+DEFINE _POSIX_OPEN_MAX 16 ; +-+DEFINE _POSIX_PATH_MAX 255 ; +++CONST int _POSIX_NGROUPS_MAX ; +++CONST int _POSIX_OPEN_MAX ; +++CONST int _POSIX_PATH_MAX ; + +DEFINE _POSIX_PIPE_BUF 512 ; + + +CONST int NGROUPS_MAX ; |