From cf1d3aec552ebaea437935e74e5eabda4bd989e7 Mon Sep 17 00:00:00 2001 From: Xavi Del Campo Date: Wed, 6 Nov 2019 04:10:53 +0100 Subject: Fixed github sdcc-gas issues #1, #2 and #4 Issue #1 was caused because code_name and data_name had been incorrectly defined as const-qualified pointers, but this must be an exception for the z80 backend, as stated by the comments. Issue #2 has been solved by removing the --gas switch from SDCCmain.c, renaming it to "--asm=" (as requested by PKK) and moved to STM8's main.c, so the option is limited to those targets supporting it. Issue #4 was because of SDCCglue.c, that generated local labels using "!labeldef" instead of "!slabeldef", causing those __str_%d labels to be printed as "__str_%d::" (the double colons stand for globa label according to asxxx documentation) instead of "__str_%d":". I ran the regression tests and most of them passed, but "wchar" returned another "Multiple definition of..." error that I cannot explain so far. It is better than nothing, though. --- src/pic14/glue.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/pic14') diff --git a/src/pic14/glue.c b/src/pic14/glue.c index ee266e9..750fd61 100644 --- a/src/pic14/glue.c +++ b/src/pic14/glue.c @@ -384,9 +384,9 @@ pic14emitOverlay (struct dbuf_s * aBuf) /* I don't think this applies to us. We are using gpasm. CRF */ - dbuf_printf (aBuf, ";\t.area _DUMMY\n"); + dbuf_tprintf (aBuf, ";\t!area\n", "_DUMMY"); /* output the area informtion */ - dbuf_printf (aBuf, ";\t.area\t%s\n", port->mem.overlay_name); /* MOF */ + dbuf_tprintf (aBuf, ";\t!area\t\n", port->mem.overlay_name); /* MOF */ } for (sym = setFirstItem (ovrset); sym; -- cgit v1.2.3