aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authordanfe <danfe@FreeBSD.org>2011-01-11 13:10:12 +0800
committerdanfe <danfe@FreeBSD.org>2011-01-11 13:10:12 +0800
commit6a3416a8a73b51208ac454cfb0b7a8cec49a2783 (patch)
tree771b3aeb4a646ccb02ffbdc848ca4c9e2f51f7e6 /devel
parent83c672e798cb5e2a406256db1b45ce64bc1466e9 (diff)
downloadfreebsd-ports-graphics-6a3416a8a73b51208ac454cfb0b7a8cec49a2783.tar.gz
freebsd-ports-graphics-6a3416a8a73b51208ac454cfb0b7a8cec49a2783.tar.zst
freebsd-ports-graphics-6a3416a8a73b51208ac454cfb0b7a8cec49a2783.zip
Bring in the patch from upstream that adds support for % ^ << >> operators,
contributed by Martin Finda.
Diffstat (limited to 'devel')
-rw-r--r--devel/hp48xgcc/Makefile2
-rw-r--r--devel/hp48xgcc/files/patch-lib-source+libgcc+libgcc1.S140
2 files changed, 141 insertions, 1 deletions
diff --git a/devel/hp48xgcc/Makefile b/devel/hp48xgcc/Makefile
index 3dee11c93a4..e8c5bfc8955 100644
--- a/devel/hp48xgcc/Makefile
+++ b/devel/hp48xgcc/Makefile
@@ -7,7 +7,7 @@
PORTNAME= hp48xgcc
PORTVERSION= 1.0.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= devel
MASTER_SITES= SF/${PORTNAME}/source/${PORTVERSION}:hp \
ftp://ftp.gnu.org/old-gnu/gcc/:gcc
diff --git a/devel/hp48xgcc/files/patch-lib-source+libgcc+libgcc1.S b/devel/hp48xgcc/files/patch-lib-source+libgcc+libgcc1.S
new file mode 100644
index 00000000000..e76bf0878bd
--- /dev/null
+++ b/devel/hp48xgcc/files/patch-lib-source+libgcc+libgcc1.S
@@ -0,0 +1,140 @@
+--- lib-source/libgcc/libgcc1.S.orig 1995-07-12 05:17:00.000000000 +0200
++++ lib-source/libgcc/libgcc1.S 2007-06-18 12:04:45.000000000 +0200
+***************
+*** 16,23 ****
+--- 16,33 ----
+ xdef ___extendti
+ xdef ___extendsidi2
+
++ xdef ___ashlti2
++ xdef ___ashldi2
++ xdef ___ashrdi2
++ xdef ___ashrti2
++ xdef ___xordi3
++ xdef ___xorsi3
++
+ xdef ___divdi3
+ xdef ___divti3
++ xdef ___moddi3
++ xdef ___modti3
++ xdef ___umodsi3
+ xdef ___mulpdi3
+ xdef ___muldi3
+ xdef ___multi3
+***************
+*** 49,54 ****
+--- 59,132 ----
+ move.1 #7,p
+ rtn
+
++ ___ashlti2
++ ; left-shift 'a' for 'c' bits
++ move.1 #2,p
++ move.14 #0,c.p
++ beq.b c,0,.t1
++ .t0
++ sub.b #1,c
++ lsl.w #1,a
++ bne.b c,0,.t0
++ .t1
++ move.1 #7,p
++ rtn
++
++ ___ashldi2
++ ; left-shift 'a' for 'c' bits
++ move.1 #2,p
++ move.14 #0,c.p
++ beq.b c,0,.t1
++ .t0
++ sub.b #1,c
++ lsl.w #1,a
++ bne.b c,0,.t0
++ .t1
++ move.1 #8,p
++ move.8 #0,a.p
++ move.1 #7,p
++ rtn
++
++ ___ashrdi2
++ ; right-shift 'a' for 'c' bits
++ move.1 #8,p
++ move.8 #0,a.p
++
++ ___ashrti2
++ ; right-shift 'a' for 'c' bits
++ move.1 #2,p
++ move.14 #0,c.p
++ beq.b c,0,.t1
++ .t0
++ sub.b #1,c
++ lsr.w #1,a
++ bne.b c,0,.t0
++ .t1
++ move.1 #7,p
++ rtn
++
++ ___xordi3
++ ; c = b ^ r0
++ move.w r0,a
++ and.w b,a
++ not.w a
++ and.w a,b
++ move.w r0,c
++ and.w a,c
++ or.w b,c
++ rtn
++
++ ___xorsi3
++ ; c = b ^ r0
++ move.a r0,a
++ and.a b,a
++ not.a a
++ and.a a,b
++ move.a r0,c
++ and.a a,c
++ or.a b,c
++ rtn
++
+ ___divdi3
+ ; wp-mode c = b/r0
+
+***************
+*** 68,73 ****
+--- 146,182 ----
+ move.1 #7,p
+ rtn
+
++ ___moddi3
++ ; wp-mode c = b%r0
++ move.1 #7,p
++ move.w b,a
++ move.8 #0,a.p
++ move.w a,b
++ move.w r0,c
++ move.8 #0,c.p
++ move.w c,r0
++
++ ___modti3
++ ; word-mode C = B % R0
++ move.w b,a ; a = parm 1
++ move.w r0,c ; c = parm 2
++ jsr HXSDIV ; word-mode [[ a = c = a/c , b = a%c ]]
++ move.w b,c
++ move.1 #7,p
++ rtn
++
++ ___umodsi3
++ ; wp-mode c = b%r0
++ move.1 #2,p
++ move.w b,a ; a = parm 1
++ move.14 #0,a.p
++ move.w r0,c ; c = parm 2
++ move.14 #0,c.p
++ jsr $HXSDIV ; word-mode [[ a = c = a/c , b = a%c ]]
++ move.w b,c ; result in c
++ move.1 #7,p
++ rtn
++
+ ___mulpdi3
+ move.a r0,a
+ ;;