<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinycc/arm64-gen.c, branch main</title>
<subtitle>Tiny C Compiler by Fabrice Bellard Git mirror of the final release by Bellard, discarding all changes after. The repository at https://repo.or.cz/tinycc.git has become untrustworthy. Also the tcc sources have become tainted with AI slop.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/'/>
<entry>
<title>refactor enums</title>
<updated>2017-07-09T10:38:25+00:00</updated>
<author>
<name>grischka</name>
<email>grischka</email>
</author>
<published>2017-07-09T10:38:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=f87afa72e06842da1f1bb902e4a192195646134b'/>
<id>f87afa72e06842da1f1bb902e4a192195646134b</id>
<content type='text'>
Eliminate VT_ENUM as a basic type.  Instead use the integral
types VT_InT/VT_LLONG with an additional flag to indicate
that it is an enum.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Eliminate VT_ENUM as a basic type.  Instead use the integral
types VT_InT/VT_LLONG with an additional flag to indicate
that it is an enum.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor sym &amp; attributes</title>
<updated>2017-07-09T10:34:11+00:00</updated>
<author>
<name>grischka</name>
<email>grischka</email>
</author>
<published>2017-07-09T10:34:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=9ba76ac834608f76b734674048a7cc4334051e32'/>
<id>9ba76ac834608f76b734674048a7cc4334051e32</id>
<content type='text'>
tcc.h:
* cleanup struct 'Sym'
* include some 'Attributes' into 'Sym'
* in turn get rid of VT_IM/EXPORT, VT_WEAK
* re-number VT_XXX flags
* replace some 'long' function args by 'int'

tccgen.c:
* refactor parse_btype()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
tcc.h:
* cleanup struct 'Sym'
* include some 'Attributes' into 'Sym'
* in turn get rid of VT_IM/EXPORT, VT_WEAK
* re-number VT_XXX flags
* replace some 'long' function args by 'int'

tccgen.c:
* refactor parse_btype()
</pre>
</div>
</content>
</entry>
<entry>
<title>configure: --config-musl/-uClibc switch &amp; misc cleanups</title>
<updated>2017-05-13T06:59:06+00:00</updated>
<author>
<name>grischka</name>
<email>grischka</email>
</author>
<published>2017-05-13T06:59:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=28435ec58c2ef9bb571cad5f8a1129aea3ecc204'/>
<id>28435ec58c2ef9bb571cad5f8a1129aea3ecc204</id>
<content type='text'>
- configure:
  - add --config-uClibc,-musl switch and suggest to use
    it if uClibc/musl is detected
  - make warning options magic clang compatible
  - simplify (use $confvars instead of individual options)
- Revert "Remove some unused-parameter lint"
  7443db0d5f841b81a55e918bf8c228dd20f9ddb2
  rather use -Wno-unused-parameter (or just not -Wextra)
- #ifdef functions that are unused on some targets
- tccgen.c: use PTR_SIZE==8 instead of (X86_64 || ARM64)
- tccpe.c: fix some warnings
- integrate dummy arm-asm better
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- configure:
  - add --config-uClibc,-musl switch and suggest to use
    it if uClibc/musl is detected
  - make warning options magic clang compatible
  - simplify (use $confvars instead of individual options)
- Revert "Remove some unused-parameter lint"
  7443db0d5f841b81a55e918bf8c228dd20f9ddb2
  rather use -Wno-unused-parameter (or just not -Wextra)
- #ifdef functions that are unused on some targets
- tccgen.c: use PTR_SIZE==8 instead of (X86_64 || ARM64)
- tccpe.c: fix some warnings
- integrate dummy arm-asm better
</pre>
</div>
</content>
</entry>
<entry>
<title>tccgen: factor out gfunc_return</title>
<updated>2017-02-08T18:45:31+00:00</updated>
<author>
<name>grischka</name>
<email>grischka</email>
</author>
<published>2017-02-08T18:45:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=68666eee2ade45ab73b07361367d0a38d350d663'/>
<id>68666eee2ade45ab73b07361367d0a38d350d663</id>
<content type='text'>
Also:
- on windows i386 and x86-64, structures of size &lt;= 8 are
  NOT returned in registers if size is not one of 1,2,4,8.
- cleanup: put all tv-push/pop/swap/rot into one place
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also:
- on windows i386 and x86-64, structures of size &lt;= 8 are
  NOT returned in registers if size is not one of 1,2,4,8.
- cleanup: put all tv-push/pop/swap/rot into one place
</pre>
</div>
</content>
</entry>
<entry>
<title>tccgen: nocode_wanted alternatively</title>
<updated>2016-12-18T17:53:21+00:00</updated>
<author>
<name>grischka</name>
<email>grischka</email>
</author>
<published>2016-12-18T16:23:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=f843cadb6bc07b3b3de6786233df4592d2d5f60d'/>
<id>f843cadb6bc07b3b3de6786233df4592d2d5f60d</id>
<content type='text'>
tccgen.c: remove any 'nocode_wanted' checks, except in
- greloca(), disables output elf symbols and relocs
- get_reg(), will return just the first suitable reg)
- save_regs(), will do nothing

Some minor adjustments were made where nocode_wanted is set.

xxx-gen.c: disable code output directly where it happens
in functions:
- g(), output disabled
- gjmp(), will do nothing
- gtst(), dto.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
tccgen.c: remove any 'nocode_wanted' checks, except in
- greloca(), disables output elf symbols and relocs
- get_reg(), will return just the first suitable reg)
- save_regs(), will do nothing

Some minor adjustments were made where nocode_wanted is set.

xxx-gen.c: disable code output directly where it happens
in functions:
- g(), output disabled
- gjmp(), will do nothing
- gtst(), dto.
</pre>
</div>
</content>
</entry>
<entry>
<title>arm64: Fix largeptr test</title>
<updated>2016-12-15T16:49:56+00:00</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-12-13T11:48:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=b155432b65983df148ce6ce0e7bdc07d80c81d0e'/>
<id>b155432b65983df148ce6ce0e7bdc07d80c81d0e</id>
<content type='text'>
VT_PTR needs to be handled like VT_LLONG.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
VT_PTR needs to be handled like VT_LLONG.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix relocs_info declaration in tcc.h</title>
<updated>2016-12-05T20:51:10+00:00</updated>
<author>
<name>Thomas Preud'homme</name>
<email>robotux@celest.fr</email>
</author>
<published>2016-12-05T20:40:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=59391d5520534ef1fe3cc2e96fa567c870e2f533'/>
<id>59391d5520534ef1fe3cc2e96fa567c870e2f533</id>
<content type='text'>
C standard specifies that array should be declared with a non null size
or with * for standard array. Declaration of relocs_info in tcc.h was
not respecting this rule. This commit add a R_NUM macro that maps to the
R_&lt;ARCH&gt;_NUM macros and declare relocs_info using it. This commit also
moves all linker-related macros from &lt;arch&gt;-gen.c files to &lt;arch&gt;-link.c
ones.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
C standard specifies that array should be declared with a non null size
or with * for standard array. Declaration of relocs_info in tcc.h was
not respecting this rule. This commit add a R_NUM macro that maps to the
R_&lt;ARCH&gt;_NUM macros and declare relocs_info using it. This commit also
moves all linker-related macros from &lt;arch&gt;-gen.c files to &lt;arch&gt;-link.c
ones.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make build_got_entries more target independent</title>
<updated>2016-12-03T17:26:51+00:00</updated>
<author>
<name>Thomas Preud'homme</name>
<email>robotux@celest.fr</email>
</author>
<published>2016-11-12T15:16:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=1c811a4d1db56e4ed4fefa99ea39c679aa0c29f0'/>
<id>1c811a4d1db56e4ed4fefa99ea39c679aa0c29f0</id>
<content type='text'>
Factor most of common logic between targets in build_got_entries by
defining target specific info into structures in the backends.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Factor most of common logic between targets in build_got_entries by
defining target specific info into structures in the backends.
</pre>
</div>
</content>
</entry>
<entry>
<title>arm64: Fix -run</title>
<updated>2016-10-14T15:32:10+00:00</updated>
<author>
<name>Michael Matz</name>
<email>matz@suse.de</email>
</author>
<published>2016-10-14T15:32:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=682ecc1745123d8c8cb324cce151accff2a311ed'/>
<id>682ecc1745123d8c8cb324cce151accff2a311ed</id>
<content type='text'>
With -run the call instruction and a defined function can be
far away, if the function is defined in the executable itself,
not in the to be compiled code.  So we always need PLT slots
for -run, not just for undefined symbols.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With -run the call instruction and a defined function can be
far away, if the function is defined in the executable itself,
not in the to be compiled code.  So we always need PLT slots
for -run, not just for undefined symbols.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use R_AARCH64_MOVW_UABS_G* instead of R_AARCH64_CALL26.</title>
<updated>2016-10-11T17:56:10+00:00</updated>
<author>
<name>Edmund Grimley Evans</name>
<email>Edmund.Grimley.Evans@gmail.com</email>
</author>
<published>2016-10-11T17:56:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=07ca2df5889ab526ba2de383707edb12e5d79323'/>
<id>07ca2df5889ab526ba2de383707edb12e5d79323</id>
<content type='text'>
This is a work-around for TCC's linker, on AArch64, not building a PLT
when TCC is invoked with "-run". Fixing the linker should be possible:
it works on arm and x86_64, apparently.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a work-around for TCC's linker, on AArch64, not building a PLT
when TCC is invoked with "-run". Fixing the linker should be possible:
it works on arm and x86_64, apparently.
</pre>
</div>
</content>
</entry>
</feed>
