AR = m6809-unknown-ar
LINKER = lwlink
CFLAGS = -I../../../../Library/include -I../../../../Library/include/6809 -Wall -pedantic -fno-strict-aliasing
+# Workaround for gcc6809 bug - register copy propagation issue
+CFLAGS += -fno-cprop-registers
COPT = -Os
LINKER_OPT = --format=raw -L../../../../Library/libs -lc6809
LIBGCCDIR = $(dir $(shell $(CC) -print-libgcc-file-name))
p->word = q->word;
/* printf("H%d ", ADR(q) - ADR(p)); */
- gratuitous_call();
/* Big enough hole */
if (ADR(q) - ADR(p) >= rbytes) {
/* blokp is the first byte after
/* Splitting ? */
if (q > blokp) {
/* printf("S");*/
- gratuitous_call();
blokp->word = p->word;
}
/* Update our block */
close(fa);
fcntl(fb, F_SETFD, FD_CLOEXEC);
}
-
-void gratuitous_call(void)
-{
-}
LINKER = lwlink
CFLAGS = -I../../Library/include -I../../Library/include/6809
COPT = -Os -fomit-frame-pointer
+# Workaround for gcc6809 bug - register copy propagation issue
+COPT += -fno-cprop-registers
LINKER_OPT = --format=raw -L../../Library/libs -lc6809
LIBGCCDIR = $(dir $(shell $(CC) -print-libgcc-file-name))
LINKER_OPT += -L$(LIBGCCDIR) -lgcc
export CROSS_CC = m6809-unknown-gcc
#export CROSS_CCOPTS=-Wall -O2 -I$(ROOT_DIR)/cpu-6809 -I$(ROOT_DIR)/platform-$(TARGET) -I$(ROOT_DIR)/include
export CROSS_CCOPTS=-c -Wall -Os -msoft-reg-count=0 -mfar-stack-param -I$(ROOT_DIR)/cpu-6809 -I$(ROOT_DIR)/platform-$(TARGET) -I$(ROOT_DIR)/include
+# Workaround for gcc6809 bug - register copy propagation issue
+CROSS_CCOPTS += -fno-cprop-registers
export CROSS_CC_SEG1=-mcode-section=.text -mfar-code-page=1
export CROSS_CC_SEG2=-mcode-section=.text2 -mfar-code-page=2
#Given the compactness we don't need a CODE3 segment really