Subject: [clisp-list] Linux/HPPA fix

From: Will Newton <[email-masked]>
Date: Mon Jul 1 06:21:11 2002

The attached patches should allow clisp to build a bit better on HPPA. The 
author of the patch (LaMont Jones, HP Linux developer) says the patch should 
not affect the HPUX build so is "suitable for upstream". I do not have an 
HPUX machine to test with, but LaMont knows what he is talking about with HP 
systems. The second patch is a compiler bug workaround, which I may have 
forwarded before.

--- ffcall-1.8.orig/callback/trampoline_r/trampoline.c
+++ ffcall-1.8/callback/trampoline_r/trampoline.c
@@ -793,12 +793,14 @@
    *    .long   <data>
    *    .long   <address>
    */
-  *(long *) (function + 0) = ((long *) ((char*)&tramp_r-2))[0];
-  *(long *) (function + 4) = (long) (function + 8);
-  *(long *) (function + 8) = (long) data;
-  *(long *) (function +12) = (long) address;
+  { void *foo=&tramp_r;
+    *(long *) (function + 0) = ((long *) ((char*)foo-2))[0];
+    *(long *) (function + 4) = (long) (function + 8);
+    *(long *) (function + 8) = (long) data;
+    *(long *) (function +12) = (long) address;
+  }
 #define is_tramp(function)  \
-  ((long *) function)[0] == ((long *) ((char*)&tramp_r-2))[0]
+  { void *foo=&tramp_r; *((long *) function) == *((long *) ((char*)foo-2)); }
 #define tramp_address(function)  \
   ((long *) function)[3]
 #define tramp_data(function)  \
--- ffcall-1.8.orig/avcall/avcall-hppa.s
+++ ffcall-1.8/avcall/avcall-hppa.s
@@ -1,18 +1,12 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+	.code
 	.IMPORT $global$,DATA
 	.IMPORT $$dyncall,MILLICODE
 ; gcc_compiled.:
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.EXPORT __builtin_avcall,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR
-__builtin_avcall
+	.label __builtin_avcall
 	.PROC
 	.CALLINFO FRAME=1152,CALLS,SAVE_RP,ENTRY_GR=3
 	.ENTRY
@@ -30,18 +24,18 @@
 	zdep %r21,29,30,%r19
 	addl %r19,%r20,%r20
 	addl %r19,%r3,%r22
-L$0005
+	.label L$0005
 	ldw 1064(0,%r22),%r19
 	ldo 4(%r22),%r22
 	ldo 1(%r21),%r21
 	comib,> -4,%r21,L$0005
 	stws,ma %r19,4(0,%r20)
-L$0003
+	.label L$0003
 	ldw 12(0,%r3),%r20
 	ldi 16,%r19
 	comclr,<> %r19,%r20,0
 	ldw 8(0,%r3),%r28
-L$0007
+	.label L$0007
 	ldw 0(0,%r3),%r19
 	ldw 1060(0,%r3),%r26
 	ldw 1056(0,%r3),%r25
@@ -72,17 +66,17 @@
 	ldw 8(0,%r3),%r19
 	bl L$0009,0
 	stw %r29,4(0,%r19)
-L$0030
+	.label L$0030
 	comib,<>,n 13,%r20,L$0032
 	ldw 8(0,%r3),%r19
 	bl L$0009,0
 	fstws %fr4L,0(0,%r19)
-L$0032
+	.label L$0032
 	comib,<>,n 14,%r20,L$0034
 	ldw 8(0,%r3),%r19
 	bl L$0009,0
 	fstds %fr4,0(0,%r19)
-L$0034
+	.label L$0034
 	comib,= 15,%r20,L$0076
 	ldi 16,%r19
 	comb,<>,n %r19,%r20,L$0009
@@ -94,19 +88,19 @@
 	ldb 0(0,%r22),%r19
 	bl L$0009,0
 	stb %r19,0(0,%r20)
-L$0040
+	.label L$0040
 	comib,<>,n 2,%r19,L$0042
 	ldw 8(0,%r3),%r20
 	ldh 0(0,%r22),%r19
 	bl L$0009,0
 	sth %r19,0(0,%r20)
-L$0042
+	.label L$0042
 	comib,<>,n 4,%r19,L$0044
 	ldw 8(0,%r3),%r20
 	ldw 0(0,%r22),%r19
 	bl L$0009,0
 	stw %r19,0(0,%r20)
-L$0044
+	.label L$0044
 	comib,<> 8,%r19,L$0046
 	ldo 3(%r19),%r19
 	ldw 8(0,%r3),%r20
@@ -116,10 +110,10 @@
 	ldw 4(0,%r22),%r19
 	bl L$0009,0
 	stw %r19,4(0,%r20)
-L$0046
+	.label L$0046
 	extru %r19,29,30,%r21
 	addib,<,n -1,%r21,L$0009
-L$0050
+	.label L$0050
 	ldw 8(0,%r3),%r19
 	ldwx,s %r21(0,%r22),%r20
 	sh2addl %r21,%r19,%r19
@@ -127,30 +121,30 @@
 	stw %r20,0(0,%r19)
 	bl L$0079,0
 	ldi 0,%r28
-L$0039
+	.label L$0039
 	bb,>=,n %r19,30,L$0009
 	bb,>= %r19,28,L$0054
 	ldw 16(0,%r3),%r19
 	comib,=,n 1,%r19,L$0077
 	comib,<>,n 2,%r19,L$0057
-L$0078
+	.label L$0078
 	ldw 8(0,%r3),%r19
 	bl L$0009,0
 	sth %r22,0(0,%r19)
-L$0057
+	.label L$0057
 	comib,<> 4,%r19,L$0079
 	ldi 0,%r28
-L$0076
+	.label L$0076
 	ldw 8(0,%r3),%r19
 	bl L$0009,0
 	stw %r22,0(0,%r19)
-L$0054
+	.label L$0054
 	comib,<>,n 1,%r19,L$0061
-L$0077
+	.label L$0077
 	ldw 8(0,%r3),%r19
 	bl L$0009,0
 	stb %r22,0(0,%r19)
-L$0061
+	.label L$0061
 	comib,<>,n 2,%r19,L$0063
 	ldw 8(0,%r3),%r19
 	extrs %r22,23,24,%r20
@@ -158,7 +152,7 @@
 	ldw 8(0,%r3),%r19
 	bl L$0009,0
 	stb %r22,1(0,%r19)
-L$0063
+	.label L$0063
 	comib,<>,n 3,%r19,L$0065
 	ldw 8(0,%r3),%r20
 	extrs %r22,15,16,%r19
@@ -169,7 +163,7 @@
 	ldw 8(0,%r3),%r19
 	bl L$0009,0
 	stb %r22,2(0,%r19)
-L$0065
+	.label L$0065
 	comib,<>,n 4,%r19,L$0067
 	ldw 8(0,%r3),%r20
 	extrs %r22,7,8,%r19
@@ -183,7 +177,7 @@
 	ldw 8(0,%r3),%r19
 	bl L$0009,0
 	stb %r22,3(0,%r19)
-L$0067
+	.label L$0067
 	comib,<>,n 5,%r19,L$0069
 	ldw 8(0,%r3),%r20
 	extrs %r22,7,8,%r19
@@ -199,7 +193,7 @@
 	ldw 8(0,%r3),%r19
 	bl L$0009,0
 	stb %r29,4(0,%r19)
-L$0069
+	.label L$0069
 	comib,<>,n 6,%r19,L$0071
 	ldw 8(0,%r3),%r20
 	extrs %r22,7,8,%r19
@@ -218,7 +212,7 @@
 	ldw 8(0,%r3),%r19
 	bl L$0009,0
 	stb %r29,5(0,%r19)
-L$0071
+	.label L$0071
 	comib,<>,n 7,%r19,L$0073
 	ldw 8(0,%r3),%r20
 	extrs %r22,7,8,%r19
@@ -240,7 +234,7 @@
 	ldw 8(0,%r3),%r19
 	bl L$0009,0
 	stb %r29,6(0,%r19)
-L$0073
+	.label L$0073
 	comib,<> 8,%r19,L$0079
 	ldi 0,%r28
 	ldw 8(0,%r3),%r20
@@ -265,9 +259,9 @@
 	stb %r19,6(0,%r20)
 	ldw 8(0,%r3),%r19
 	stb %r29,7(0,%r19)
-L$0009
+	.label L$0009
 	ldi 0,%r28
-L$0079
+	.label L$0079
 	ldw -1172(0,%r30),%r2
 	ldw -1060(0,%r30),%r3
 	bv 0(%r2)
--- ffcall-1.8.orig/callback/trampoline_r/cache-hppa.s
+++ ffcall-1.8/callback/trampoline_r/cache-hppa.s
@@ -1,18 +1,12 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+	.code
 	.IMPORT $global$,DATA
 	.IMPORT $$dyncall,MILLICODE
 ; gcc_compiled.:
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.EXPORT __TR_clear_cache,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR
-__TR_clear_cache
+	.label __TR_clear_cache
 	.PROC
 	.CALLINFO FRAME=0,NO_CALLS
 	.ENTRY
--- ffcall-1.8.orig/callback/trampoline_r/proto-hppa.s
+++ ffcall-1.8/callback/trampoline_r/proto-hppa.s
@@ -1,18 +1,12 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+	.code
 	.IMPORT $global$,DATA
 	.IMPORT $$dyncall,MILLICODE
 ; gcc_compiled.:
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.EXPORT tramp,ENTRY,PRIV_LEV=3,RTNVAL=GR
-tramp
+	.label tramp
 	.PROC
 	.CALLINFO FRAME=64,CALLS,SAVE_RP
 	.ENTRY
@@ -33,7 +27,7 @@
 	.PROCEND
 	.align 4
 	.EXPORT jump,ENTRY,PRIV_LEV=3,RTNVAL=GR
-jump
+	.label jump
 	.PROC
 	.CALLINFO FRAME=0,NO_CALLS
 	.ENTRY
--- ffcall-1.8.orig/callback/trampoline_r/tramp-hppa.s
+++ ffcall-1.8/callback/trampoline_r/tramp-hppa.s
@@ -9,20 +9,14 @@
 ; on this software.
 ;
 
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+	.code
 	.IMPORT $global$,DATA
 	.IMPORT $$dyncall,MILLICODE
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.EXPORT tramp_r,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR
-tramp_r
+	.label tramp_r
 	.PROC
 	.CALLINFO FRAME=0,NO_CALLS
 	.ENTRY
@@ -36,7 +30,7 @@
 	depi 0,31,2,%r21
 	ldw 4(0,%r21),%r19
 	ldw 0(0,%r21),%r21
-tramp_r_2
+	.label tramp_r_2
 	ldsid (0,%r21),%r1
 	mtsp %r1,%sr0
 	be,n 0(%sr0,%r21)
--- ffcall-1.8.orig/callback/vacall_r/vacall-hppa.s
+++ ffcall-1.8/callback/vacall_r/vacall-hppa.s
@@ -1,18 +1,12 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+	.code
 	.IMPORT $global$,DATA
 	.IMPORT $$dyncall,MILLICODE
 ; gcc_compiled.:
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.EXPORT __vacall_r,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
-__vacall_r
+	.label __vacall_r
 	.PROC
 	.CALLINFO FRAME=192,CALLS,SAVE_RP
 	.ENTRY
@@ -53,26 +47,26 @@
 	ldw -212(0,%r30),%r2
 	comiclr,= 1,%r19,0
 	comib,<>,n 2,%r19,L$0006
-L$0057
+	.label L$0057
 	ldb -160(0,%r30),%r19
 	bl L$0065,0
 	extrs %r19,31,8,%r28
-L$0006
+	.label L$0006
 	comib,<>,n 3,%r19,L$0008
 	ldb -160(0,%r30),%r28
 	bl L$0065,0
 	ldw -212(0,%r30),%r2
-L$0008
+	.label L$0008
 	comib,<>,n 4,%r19,L$0010
 	ldh -160(0,%r30),%r19
 	bl L$0003,0
 	extrs %r19,31,16,%r28
-L$0010
+	.label L$0010
 	comib,<>,n 5,%r19,L$0012
 	ldh -160(0,%r30),%r28
 	bl L$0065,0
 	ldw -212(0,%r30),%r2
-L$0012
+	.label L$0012
 	comib,=,n 6,%r19,L$0060
 	comib,=,n 7,%r19,L$0060
 	comib,=,n 8,%r19,L$0060
@@ -83,18 +77,18 @@
 	comib,<>,n 12,%r19,L$0024
 	ldo -152(%r30),%r19
 	fldws -8(0,%r19),%fr4L
-L$0060
+	.label L$0060
 	bl L$0003,0
 	ldw -160(0,%r30),%r28
-L$0024
+	.label L$0024
 	comib,<>,n 13,%r19,L$0026
 	ldo -152(%r30),%r19
 	fldds -8(0,%r19),%fr4
-L$0059
+	.label L$0059
 	ldw -160(0,%r30),%r28
 	bl L$0003,0
 	ldw -156(0,%r30),%r29
-L$0026
+	.label L$0026
 	comiclr,<> 14,%r19,0
 	bl,n L$0060,0
 	comib,<> 15,%r19,L$0065
@@ -103,7 +97,7 @@
 	bb,>=,n %r19,31,L$0031
 	ldw -176(0,%r30),%r28
 	bl,n L$0003,0
-L$0031
+	.label L$0031
 	bb,>= %r19,30,L$0065
 	ldw -212(0,%r30),%r2
 	bb,>= %r19,28,L$0034
@@ -113,22 +107,22 @@
 	ldw -176(0,%r30),%r19
 	bl L$0065,0
 	ldh 0(0,%r19),%r28
-L$0037
+	.label L$0037
 	comib,<> 4,%r19,L$0065
 	ldw -212(0,%r30),%r2
 	ldw -176(0,%r30),%r19
 	bl L$0065,0
 	ldw 0(0,%r19),%r28
-L$0034
+	.label L$0034
 	comib,= 0,%r19,L$0065
 	ldw -212(0,%r30),%r2
 	comib,<<,n 8,%r19,L$0065
 	comib,<>,n 1,%r19,L$0042
-L$0061
+	.label L$0061
 	ldw -176(0,%r30),%r19
 	bl L$0003,0
 	ldb 0(0,%r19),%r28
-L$0042
+	.label L$0042
 	comib,<>,n 2,%r19,L$0044
 	ldw -176(0,%r30),%r19
 	ldb 0(0,%r19),%r20
@@ -136,7 +130,7 @@
 	zdep %r20,23,24,%r20
 	bl L$0003,0
 	or %r20,%r19,%r28
-L$0044
+	.label L$0044
 	comib,<> 3,%r19,L$0046
 	ldw -176(0,%r30),%r21
 	ldb 0(0,%r21),%r19
@@ -147,12 +141,12 @@
 	or %r19,%r20,%r19
 	bl L$0003,0
 	or %r19,%r21,%r28
-L$0046
+	.label L$0046
 	comib,= 4,%r19,L$0062
 	ldw -176(0,%r30),%r22
 	comib,<>,n 5,%r19,L$0050
 	ldb 4(0,%r22),%r29
-L$0062
+	.label L$0062
 	ldb 0(0,%r22),%r19
 	ldb 1(0,%r22),%r20
 	ldb 2(0,%r22),%r21
@@ -164,7 +158,7 @@
 	or %r19,%r21,%r19
 	bl L$0003,0
 	or %r19,%r20,%r28
-L$0050
+	.label L$0050
 	comib,<> 6,%r19,L$0052
 	ldw -176(0,%r30),%r22
 	ldb 0(0,%r22),%r19
@@ -181,7 +175,7 @@
 	ldb 5(0,%r22),%r20
 	bl L$0063,0
 	zdep %r19,23,24,%r19
-L$0052
+	.label L$0052
 	comib,<>,n 7,%r19,L$0054
 	ldb 0(0,%r22),%r19
 	ldb 1(0,%r22),%r20
@@ -201,7 +195,7 @@
 	or %r19,%r20,%r19
 	bl L$0003,0
 	or %r19,%r21,%r29
-L$0054
+	.label L$0054
 	comib,<> 8,%r19,L$0065
 	ldw -212(0,%r30),%r2
 	ldw -176(0,%r30),%r22
@@ -224,11 +218,11 @@
 	or %r19,%r20,%r19
 	ldb 7(0,%r22),%r20
 	or %r19,%r21,%r19
-L$0063
+	.label L$0063
 	or %r19,%r20,%r29
-L$0003
+	.label L$0003
 	ldw -212(0,%r30),%r2
-L$0065
+	.label L$0065
 	bv 0(%r2)
 	ldo -192(%r30),%r30
 	.EXIT
--- ffcall-1.8.orig/trampoline/cache-hppa.s
+++ ffcall-1.8/trampoline/cache-hppa.s
@@ -1,18 +1,12 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+	.code
 	.IMPORT $global$,DATA
 	.IMPORT $$dyncall,MILLICODE
 ; gcc_compiled.:
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.EXPORT __TR_clear_cache,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR
-__TR_clear_cache
+	.label __TR_clear_cache
 	.PROC
 	.CALLINFO FRAME=0,NO_CALLS
 	.ENTRY
--- ffcall-1.8.orig/trampoline/proto-hppa.s
+++ ffcall-1.8/trampoline/proto-hppa.s
@@ -1,18 +1,12 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+	.code
 	.IMPORT $global$,DATA
 	.IMPORT $$dyncall,MILLICODE
 ; gcc_compiled.:
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.EXPORT tramp,ENTRY,PRIV_LEV=3,RTNVAL=GR
-tramp
+	.label tramp
 	.PROC
 	.CALLINFO FRAME=64,CALLS,SAVE_RP
 	.ENTRY
@@ -35,7 +29,7 @@
 	.PROCEND
 	.align 4
 	.EXPORT jump,ENTRY,PRIV_LEV=3,RTNVAL=GR
-jump
+	.label jump
 	.PROC
 	.CALLINFO FRAME=0,NO_CALLS
 	.ENTRY
--- ffcall-1.8.orig/trampoline/tramp-hppa.s
+++ ffcall-1.8/trampoline/tramp-hppa.s
@@ -9,20 +9,14 @@
 ; on this software.
 ;
 
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+	.code
 	.IMPORT $global$,DATA
 	.IMPORT $$dyncall,MILLICODE
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.EXPORT tramp,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR
-tramp
+	.label tramp
 	.PROC
 	.CALLINFO FRAME=0,NO_CALLS
 	.ENTRY
@@ -40,7 +34,7 @@
 	depi 0,31,2,%r21
 	ldw 4(0,%r21),%r19
 	ldw 0(0,%r21),%r21
-tramp_2
+	.label tramp_2
 	ldsid (0,%r21),%r1
 	mtsp %r1,%sr0
 	be,n 0(%sr0,%r21)
--- ffcall-1.8.orig/vacall/vacall-hppa.s
+++ ffcall-1.8/vacall/vacall-hppa.s
@@ -1,19 +1,13 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+	.code
 	.IMPORT $global$,DATA
 	.IMPORT $$dyncall,MILLICODE
 ; gcc_compiled.:
 	.IMPORT vacall_function,DATA
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.EXPORT vacall,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR
-vacall
+	.label vacall
 	.PROC
 	.CALLINFO FRAME=192,CALLS,SAVE_RP
 	.ENTRY
@@ -54,26 +48,26 @@
 	ldw -212(0,%r30),%r2
 	comiclr,= 1,%r19,0
 	comib,<>,n 2,%r19,L$0006
-L$0057
+	.label L$0057
 	ldb -160(0,%r30),%r19
 	bl L$0065,0
 	extrs %r19,31,8,%r28
-L$0006
+	.label L$0006
 	comib,<>,n 3,%r19,L$0008
 	ldb -160(0,%r30),%r28
 	bl L$0065,0
 	ldw -212(0,%r30),%r2
-L$0008
+	.label L$0008
 	comib,<>,n 4,%r19,L$0010
 	ldh -160(0,%r30),%r19
 	bl L$0003,0
 	extrs %r19,31,16,%r28
-L$0010
+	.label L$0010
 	comib,<>,n 5,%r19,L$0012
 	ldh -160(0,%r30),%r28
 	bl L$0065,0
 	ldw -212(0,%r30),%r2
-L$0012
+	.label L$0012
 	comib,=,n 6,%r19,L$0060
 	comib,=,n 7,%r19,L$0060
 	comib,=,n 8,%r19,L$0060
@@ -84,18 +78,18 @@
 	comib,<>,n 12,%r19,L$0024
 	ldo -152(%r30),%r19
 	fldws -8(0,%r19),%fr4L
-L$0060
+	.label L$0060
 	bl L$0003,0
 	ldw -160(0,%r30),%r28
-L$0024
+	.label L$0024
 	comib,<>,n 13,%r19,L$0026
 	ldo -152(%r30),%r19
 	fldds -8(0,%r19),%fr4
-L$0059
+	.label L$0059
 	ldw -160(0,%r30),%r28
 	bl L$0003,0
 	ldw -156(0,%r30),%r29
-L$0026
+	.label L$0026
 	comiclr,<> 14,%r19,0
 	bl,n L$0060,0
 	comib,<> 15,%r19,L$0065
@@ -104,7 +98,7 @@
 	bb,>=,n %r19,31,L$0031
 	ldw -176(0,%r30),%r28
 	bl,n L$0003,0
-L$0031
+	.label L$0031
 	bb,>= %r19,30,L$0065
 	ldw -212(0,%r30),%r2
 	bb,>= %r19,28,L$0034
@@ -114,22 +108,22 @@
 	ldw -176(0,%r30),%r19
 	bl L$0065,0
 	ldh 0(0,%r19),%r28
-L$0037
+	.label L$0037
 	comib,<> 4,%r19,L$0065
 	ldw -212(0,%r30),%r2
 	ldw -176(0,%r30),%r19
 	bl L$0065,0
 	ldw 0(0,%r19),%r28
-L$0034
+	.label L$0034
 	comib,= 0,%r19,L$0065
 	ldw -212(0,%r30),%r2
 	comib,<<,n 8,%r19,L$0065
 	comib,<>,n 1,%r19,L$0042
-L$0061
+	.label L$0061
 	ldw -176(0,%r30),%r19
 	bl L$0003,0
 	ldb 0(0,%r19),%r28
-L$0042
+	.label L$0042
 	comib,<>,n 2,%r19,L$0044
 	ldw -176(0,%r30),%r19
 	ldb 0(0,%r19),%r20
@@ -137,7 +131,7 @@
 	zdep %r20,23,24,%r20
 	bl L$0003,0
 	or %r20,%r19,%r28
-L$0044
+	.label L$0044
 	comib,<> 3,%r19,L$0046
 	ldw -176(0,%r30),%r21
 	ldb 0(0,%r21),%r19
@@ -148,12 +142,12 @@
 	or %r19,%r20,%r19
 	bl L$0003,0
 	or %r19,%r21,%r28
-L$0046
+	.label L$0046
 	comib,= 4,%r19,L$0062
 	ldw -176(0,%r30),%r22
 	comib,<>,n 5,%r19,L$0050
 	ldb 4(0,%r22),%r29
-L$0062
+	.label L$0062
 	ldb 0(0,%r22),%r19
 	ldb 1(0,%r22),%r20
 	ldb 2(0,%r22),%r21
@@ -165,7 +159,7 @@
 	or %r19,%r21,%r19
 	bl L$0003,0
 	or %r19,%r20,%r28
-L$0050
+	.label L$0050
 	comib,<> 6,%r19,L$0052
 	ldw -176(0,%r30),%r22
 	ldb 0(0,%r22),%r19
@@ -182,7 +176,7 @@
 	ldb 5(0,%r22),%r20
 	bl L$0063,0
 	zdep %r19,23,24,%r19
-L$0052
+	.label L$0052
 	comib,<>,n 7,%r19,L$0054
 	ldb 0(0,%r22),%r19
 	ldb 1(0,%r22),%r20
@@ -202,7 +196,7 @@
 	or %r19,%r20,%r19
 	bl L$0003,0
 	or %r19,%r21,%r29
-L$0054
+	.label L$0054
 	comib,<> 8,%r19,L$0065
 	ldw -212(0,%r30),%r2
 	ldw -176(0,%r30),%r22
@@ -225,11 +219,11 @@
 	or %r19,%r20,%r19
 	ldb 7(0,%r22),%r20
 	or %r19,%r21,%r19
-L$0063
+	.label L$0063
 	or %r19,%r20,%r29
-L$0003
+	.label L$0003
 	ldw -212(0,%r30),%r2
-L$0065
+	.label L$0065
 	bv 0(%r2)
 	ldo -192(%r30),%r30
 	.EXIT

---

From: Sam Steingold <[email-masked]>
Date: Mon Jul 1 10:05:22 2002

> * In message <[email-masked]>
> * On the subject of "[clisp-list] Linux/HPPA fix"
> * Sent on Mon, 1 Jul 2002 14:21:25 +0100
> * Honorable Will Newton <[email-masked]> writes:
>
> The attached patches should allow clisp to build a bit better on HPPA.
> The author of the patch (LaMont Jones, HP Linux developer) says the

what's his e-mail?

> patch should not affect the HPUX build so is "suitable for upstream".
> I do not have an HPUX machine to test with, but LaMont knows what he
> is talking about with HP systems. The second patch is a compiler bug
> workaround, which I may have forwarded before.

I don't think I have seen this.

> +++ ffcall-1.8/callback/trampoline_r/trampoline.c

shouldn't replacing ((char*)&tramp_r-2) with (((char*)(&tramp_r))-2)
work too?

> +++ ffcall-1.8/avcall/avcall-hppa.s

Do I understand correctly that both of these patches are his?

thanks a lot!

-- 
Sam Steingold (http://www.podval.org/~sds) running RedHat7.2 GNU/Linux
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.palestine-central.com/links.html>
(let ((a "(let ((a %c%s%c)) (format a 34 a 34))")) (format a 34 a 34))