summaryrefslogtreecommitdiff
path: root/lang/TenDRA/files/patch-ah
diff options
context:
space:
mode:
Diffstat (limited to 'lang/TenDRA/files/patch-ah')
-rw-r--r--lang/TenDRA/files/patch-ah481
1 files changed, 0 insertions, 481 deletions
diff --git a/lang/TenDRA/files/patch-ah b/lang/TenDRA/files/patch-ah
deleted file mode 100644
index b522d5a621b7..000000000000
--- 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