<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/sdcc-gas/src/stm8, branch master</title>
<subtitle>Experimental fork of SDCC with support for dead code elimination.
</subtitle>
<id>https://gitea.privatedns.org/xavi/sdcc-gas/atom?h=master</id>
<link rel='self' href='https://gitea.privatedns.org/xavi/sdcc-gas/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/'/>
<updated>2019-11-06T03:34:26+00:00</updated>
<entry>
<title>Fixed github sdcc-gas issues #1, #2 and #4</title>
<updated>2019-11-06T03:34:26+00:00</updated>
<author>
<name>Xavi Del Campo</name>
<email>xavi.dcr@tutanota.com</email>
</author>
<published>2019-11-06T03:10:53+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/commit/?id=cf1d3aec552ebaea437935e74e5eabda4bd989e7'/>
<id>urn:sha1:cf1d3aec552ebaea437935e74e5eabda4bd989e7</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>_Noreturn-qualified functions now do not generate any ret/iret instruction</title>
<updated>2019-10-29T23:23:41+00:00</updated>
<author>
<name>Xavier ASUS</name>
<email>xavi92psx@gmail.com</email>
</author>
<published>2019-10-29T23:23:41+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/commit/?id=1dcefbf527e52315abfe3b4871272b3fd9bb0f4b'/>
<id>urn:sha1:1dcefbf527e52315abfe3b4871272b3fd9bb0f4b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bugfixes</title>
<updated>2019-10-29T23:04:10+00:00</updated>
<author>
<name>Xavier ASUS</name>
<email>xavi92psx@gmail.com</email>
</author>
<published>2019-10-29T23:04:10+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/commit/?id=7c4ae5853b472f0a2bb1dd049a818ab8346c5cff'/>
<id>urn:sha1:7c4ae5853b472f0a2bb1dd049a818ab8346c5cff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bugfixes on startup routine</title>
<updated>2019-10-25T00:56:56+00:00</updated>
<author>
<name>Xavier ASUS</name>
<email>xavi92psx@gmail.com</email>
</author>
<published>2019-10-25T00:56:56+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/commit/?id=e801690e4fc177f063e2ae854b3f2a69bd1b9ba0'/>
<id>urn:sha1:e801690e4fc177f063e2ae854b3f2a69bd1b9ba0</id>
<content type='text'>
Memory addresses should be preceded by '#' when referring to them as integers
</content>
</entry>
<entry>
<title>DWARF2 debugging (almost) working</title>
<updated>2019-10-24T23:05:12+00:00</updated>
<author>
<name>Xavier ASUS</name>
<email>xavi92psx@gmail.com</email>
</author>
<published>2019-10-24T23:05:12+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/commit/?id=4de313f145d3c9bde748306f48443aadef6cf774'/>
<id>urn:sha1:4de313f145d3c9bde748306f48443aadef6cf774</id>
<content type='text'>
Stack pointer setup is removed since it is already set to 0x3FF
for the STM8S003F3/K3, according to the datasheet.
</content>
</entry>
<entry>
<title>Removed intermediate files</title>
<updated>2019-10-24T21:18:52+00:00</updated>
<author>
<name>Xavier ASUS</name>
<email>xavi92psx@gmail.com</email>
</author>
<published>2019-10-24T21:17:51+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/commit/?id=9e93944f18de5d7e38c15651df0235156d9c6d4e'/>
<id>urn:sha1:9e93944f18de5d7e38c15651df0235156d9c6d4e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Got hi8/lo8 asm instructions working</title>
<updated>2019-10-24T04:19:28+00:00</updated>
<author>
<name>Xavier ASUS</name>
<email>xavi92psx@gmail.com</email>
</author>
<published>2019-10-24T04:19:28+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/commit/?id=d5577a84aadd0195a95b5b4d83e49b40af49425b'/>
<id>urn:sha1:d5577a84aadd0195a95b5b4d83e49b40af49425b</id>
<content type='text'>
GNU as does not support the #&lt;/#&gt; notation asxxx uses to determine
address LSB and MSB. Instead, two instructions have been created on
GNU as and ld (see my stm8-binutils-gdb fork) for this purpose.

On the other hand, I'm upset to see gen.c does not provide an
assembler-agnostic implementation when SDCCasm.c already provides
tools already meant for this.

OTOH, support for the "-C" has been added for --gas.
</content>
</entry>
<entry>
<title>Implemented -c support for --gas</title>
<updated>2019-10-23T01:57:38+00:00</updated>
<author>
<name>Xavier ASUS</name>
<email>xavi92psx@gmail.com</email>
</author>
<published>2019-10-23T01:57:38+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/commit/?id=9c47d08e98953623ceac02c8422863e593deb40e'/>
<id>urn:sha1:9c47d08e98953623ceac02c8422863e593deb40e</id>
<content type='text'>
STM8 code generator was generating some instructions in a
"ld register, (#%d, register)" way, causing assembling errors on
stm8-as. This is because stm8-as does not require the '#' character.
A quick and dirty workaround has been implemented for this.

Added new warning W_IGNORED_OPT_IN_ASM, which warns the user when
both "--no-optsdcc-in-asm" and "--gas" are used (the first is ignored
when the latter is active since GNU as does not accept the .optsdcc
directive, as opposed to asxxx).
</content>
</entry>
<entry>
<title>First working example!</title>
<updated>2019-10-22T00:10:51+00:00</updated>
<author>
<name>Xavier ASUS</name>
<email>xavi92psx@gmail.com</email>
</author>
<published>2019-10-22T00:10:51+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/commit/?id=5a0c2910df62b99fee8baec1f4d846217cd9a054'/>
<id>urn:sha1:5a0c2910df62b99fee8baec1f4d846217cd9a054</id>
<content type='text'>
stm8/main.c: 0x8000 must contain the entry point aka "_start" for GNU as.

Some work on supporting debugging symbols with --gas. Not finished yet.
</content>
</entry>
<entry>
<title>Implemented --ffunction-sections</title>
<updated>2019-10-21T14:08:26+00:00</updated>
<author>
<name>Xavier ASUS</name>
<email>xavi92psx@gmail.com</email>
</author>
<published>2019-10-21T14:08:26+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/commit/?id=9d8d485a0a3b869ad64bb745d102ab6cac0ba4a1'/>
<id>urn:sha1:9d8d485a0a3b869ad64bb745d102ab6cac0ba4a1</id>
<content type='text'>
Interrupt vector must be placed on section .vectors, according to
the default linker script file.

Intermediate labels must be $-terminated so they are not listed by nm.
</content>
</entry>
</feed>
