<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xavi/sdcc-gas/src/SDCCmain.c, 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>First implementation for --data-sections</title>
<updated>2019-10-28T01:03:38+00:00</updated>
<author>
<name>Xavier ASUS</name>
<email>xavi92psx@gmail.com</email>
</author>
<published>2019-10-28T01:03:38+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/commit/?id=3378ab8f236f387978fa4cc75bd5fca7021e8a13'/>
<id>urn:sha1:3378ab8f236f387978fa4cc75bd5fca7021e8a13</id>
<content type='text'>
OTOH, section names included in "options" were being assigned *before*
parsing command line arguments. These arose some issues so I have created
a post-parsing function.
</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>
<entry>
<title>More work on GNU as generation</title>
<updated>2019-10-20T22:22:00+00:00</updated>
<author>
<name>Xavier ASUS</name>
<email>xavi92psx@gmail.com</email>
</author>
<published>2019-10-20T22:22:00+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/commit/?id=3fcc2d265f1521c2dcae0734de355962cc6cd7a0'/>
<id>urn:sha1:3fcc2d265f1521c2dcae0734de355962cc6cd7a0</id>
<content type='text'>
On _gas_mapping, label definitions do not allow "::". ":" must be
used instead.

gasOutput is now part of "options".

Unneeded sections, such as HOME/GSINIT/etc., are no longer declared
and/or defined. GNU as just does not need them.

Startup function name must equal "_start" for GNU ld.

The value of some macros, such as CODE_NAME or DATA_NAME, must change
according to options.gasOutput, as "CODE" or "DATA" (among many others)
are not understood by GNU as.

STM8 port now selects GNU as format on --gas switch enabled.
</content>
</entry>
<entry>
<title>sdcc-3.9.0 fork implementing GNU assembler syntax</title>
<updated>2019-10-17T22:31:54+00:00</updated>
<author>
<name>Xavier ASUS</name>
<email>xavi92psx@gmail.com</email>
</author>
<published>2019-10-17T22:31:54+00:00</published>
<link rel='alternate' type='text/html' href='https://gitea.privatedns.org/xavi/sdcc-gas/commit/?id=268a53de823a6750d6256ee1fb1e7707b4b45740'/>
<id>urn:sha1:268a53de823a6750d6256ee1fb1e7707b4b45740</id>
<content type='text'>
This fork aims to provide better support for stm8-binutils
</content>
</entry>
</feed>
