Skip to content

Instantly share code, notes, and snippets.

@tsutsui
Created June 25, 2014 15:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tsutsui/25b602300b96e3881980 to your computer and use it in GitHub Desktop.
Save tsutsui/25b602300b96e3881980 to your computer and use it in GitHub Desktop.
Patch to specify "-O2 -fno-reorder-blocks" on NetBSD/m68k -current (both gcc 4.5.4 and 4.8.3)
Index: external/gpl3/gcc/dist/libgcc/config/m68k/t-floatlib
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc/dist/libgcc/config/m68k/t-floatlib,v
retrieving revision 1.1.1.1
diff -u -p -d -r1.1.1.1 t-floatlib
--- external/gpl3/gcc/dist/libgcc/config/m68k/t-floatlib 1 Mar 2014 08:41:47 -0000 1.1.1.1
+++ external/gpl3/gcc/dist/libgcc/config/m68k/t-floatlib 25 Jun 2014 14:57:19 -0000
@@ -1,6 +1,6 @@
LIB1ASMSRC = m68k/lb1sf68.S
LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
- _double _float _floatex \
+ _floatex _float _double \
_eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
_eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
Index: external/gpl3/gcc/lib/libgcc/arch/m68k/defs.mk
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc/lib/libgcc/arch/m68k/defs.mk,v
retrieving revision 1.1
diff -u -p -d -r1.1 defs.mk
--- external/gpl3/gcc/lib/libgcc/arch/m68k/defs.mk 1 Mar 2014 10:00:35 -0000 1.1
+++ external/gpl3/gcc/lib/libgcc/arch/m68k/defs.mk 25 Jun 2014 14:57:23 -0000
@@ -6,7 +6,7 @@ G_INCLUDES=-I. -I. -I../.././gcc -I${GNU
G_LIB2ADD=${GNUHOSTDIST}/libgcc/config/m68k/fpgnulib.c xfgnulib.c enable-execute-stack.c
G_LIB2ADDEH=${GNUHOSTDIST}/libgcc/unwind-dw2.c ${GNUHOSTDIST}/libgcc/unwind-dw2-fde-dip.c ${GNUHOSTDIST}/libgcc/unwind-sjlj.c ${GNUHOSTDIST}/libgcc/unwind-c.c ${GNUHOSTDIST}/libgcc/emutls.c
G_LIB2ADD_ST=
-G_LIB1ASMFUNCS=_mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _double _float _floatex _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
+G_LIB1ASMFUNCS=_mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _floatex _float _double _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
G_LIB1ASMSRC=m68k/lb1sf68.S
G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
G_LIB2FUNCS_ST=_eprintf __gcc_bcmp
Index: external/gpl3/gcc.old/dist/gcc/config/m68k/t-floatlib
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc.old/dist/gcc/config/m68k/t-floatlib,v
retrieving revision 1.1.1.1
diff -u -p -d -r1.1.1.1 t-floatlib
--- external/gpl3/gcc.old/dist/gcc/config/m68k/t-floatlib 25 Feb 2014 18:39:02 -0000 1.1.1.1
+++ external/gpl3/gcc.old/dist/gcc/config/m68k/t-floatlib 25 Jun 2014 14:57:28 -0000
@@ -18,7 +18,7 @@
LIB1ASMSRC = m68k/lb1sf68.asm
LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
- _double _float _floatex \
+ _floatex _float _double \
_eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
_eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
Index: external/gpl3/gcc.old/lib/libgcc/arch/m68k.mk
===================================================================
RCS file: /cvsroot/src/external/gpl3/gcc.old/lib/libgcc/arch/m68k.mk,v
retrieving revision 1.1.1.1
diff -u -p -d -r1.1.1.1 m68k.mk
--- external/gpl3/gcc.old/lib/libgcc/arch/m68k.mk 25 Feb 2014 18:42:04 -0000 1.1.1.1
+++ external/gpl3/gcc.old/lib/libgcc/arch/m68k.mk 25 Jun 2014 14:57:30 -0000
@@ -6,7 +6,7 @@ G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc
G_LIB2ADD=fpgnulib.c xfgnulib.c
G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c
G_LIB2ADD_ST=
-G_LIB1ASMFUNCS=_mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _double _float _floatex _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
+G_LIB1ASMFUNCS=_mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _floatex _float _double _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
G_LIB1ASMSRC=m68k/lb1sf68.asm
G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
G_LIB2FUNCS_ST=_eprintf __gcc_bcmp
Index: share/mk/sys.mk
===================================================================
RCS file: /cvsroot/src/share/mk/sys.mk,v
retrieving revision 1.124
diff -u -p -d -r1.124 sys.mk
--- share/mk/sys.mk 18 Apr 2014 00:37:46 -0000 1.124
+++ share/mk/sys.mk 25 Jun 2014 15:03:31 -0000
@@ -28,8 +28,8 @@ CC?= cc
# -O2 is too -falign-* zealous for low-memory sh3 machines
DBG?= -Os -freorder-blocks
.elif ${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m68000"
-# see src/doc/HACKS for details
-DBG?= -Os
+# -freorder-blocks (enabled by -O2) produces much bigger code
+DBG?= -O2 -fno-reorder-blocks
.elif ${MACHINE_ARCH} == "coldfire"
DBG?= -O1
.elif ${MACHINE_ARCH} == "vax"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment