{"push_id":906892419,"size":20,"distinct_size":17,"ref":"refs/heads/drafts","head":"3784e58e02efab5eca884469ffafcc30379e357d","before":"1b773c630f4ee535a742adfda16e77d214594a89","commits":[{"sha":"d1e15514aaf84bec6fddeaa2bd7b4027b175be6e","author":{"email":"87e1f221a672a14a323e57bb65eaea19d3ed3804@vinc17.net","name":"Vincent Lefevre"},"message":"Fixed a dependency (error with make -j8).\n\nSigned-off-by: Vincent Lefevre <vincent@vinc17.net>","distinct":false,"url":"https://api.github.com/repos/avih/tinycc/commits/d1e15514aaf84bec6fddeaa2bd7b4027b175be6e"},{"sha":"c4d0498b3ae3483fa7726500bd03e1f411289fff","author":{"email":"8393c157db683e53473f1dc2c6b338d8c8f71afd@suse.de","name":"Michael Matz"},"message":"x86-64: Add support for new psABI relocations\n\nR_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX can occur in object files\ncomiled by new binutils.  They are not dynamic relocations, so normally\nwouldn't be a problem for tcc (one doesn't normally mix object files\ncreated by different compiler/binutils, static archives are so out :)).\nIf it weren't for the glibc startup code, crt*.o, of course.  They now\ndo contain such relocs --> boom.  Handle them in the trivial way.","distinct":false,"url":"https://api.github.com/repos/avih/tinycc/commits/c4d0498b3ae3483fa7726500bd03e1f411289fff"},{"sha":"e264243adc0910fba204fd05292a8353e272bd0e","author":{"email":"8393c157db683e53473f1dc2c6b338d8c8f71afd@suse.de","name":"Michael Matz"},"message":"x86-64: Define symbol constant for new relocs\n\nWhoops, we have our own <elf.h> copy, so I can just as well add\nthe symbol defines for the relocs instead of hard-coding numbers\nin tccelf.c.","distinct":false,"url":"https://api.github.com/repos/avih/tinycc/commits/e264243adc0910fba204fd05292a8353e272bd0e"},{"sha":"d55b987e88dae2a5700bd1de197c79e80af930fc","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"configure: support custom ar with --ar=","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/d55b987e88dae2a5700bd1de197c79e80af930fc"},{"sha":"9172a1bd314299debae2b87eddada0d0330243a6","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"build: improve windows and specifically win32\n\n1. fixed most likely an error in 'configure' for default targetos with mingw\n2. clearer naming separation between native and cross builds - cross now always\n   have prefixes and native doesn't.\n3. when building cross, also build the host as cross. the names and dirs don't\n   mangle and therefore it's an extra test that the process is correct.\n   - implemented for win32 only, but added comments how to apply to win-64 and\n     linux. Didn't check if other hosts could be modified as well.","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/9172a1bd314299debae2b87eddada0d0330243a6"},{"sha":"1320b749b45a525bf6687828ba110285f560aa9d","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"build: win64 - same cross/native as the prev win32 commit","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/1320b749b45a525bf6687828ba110285f560aa9d"},{"sha":"d4b476d363563ec03757d725b34af70ec031063c","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"asm: reimplement commit e260b036 to allow self-hosting with tcc 0.9.26\n\nCommit e260b036 added support for 'setb' test variants using a macro which is\nused with an empty argument for non 'set' tests. It's valid and also builds fine\nwith current tcc, but apparently the latest official tcc (0.9.26 - tested on\nwindows) doesn't like it.\n\nSo duplicate and split it into two macros: one with and one without suffix, and\nuse the one with suffix only where a suffix is actually required.","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/d4b476d363563ec03757d725b34af70ec031063c"},{"sha":"f4a839bfb60a66aad8e3391540d85939f7ba0d50","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"tests: allow to run with custom build dir\n\n1. tests/pp/Makefile was not copied.\n2. both tests2 and pp are unaware of custom build dir\n3. For windows, also needs -I$(TOP) since it has config.h\n\nFIXME: this just copies over test2 and pp. Proper solution would be to have\n       their Makefiles aware of custom dir and use the root dir for the files.","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/f4a839bfb60a66aad8e3391540d85939f7ba0d50"},{"sha":"16d5ec88fb341ffc5d86e876164bb66d6563fb88","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"build: native: build both ONE_SOURCE and with libtcc\n\nThese are two build procedures. With ONE_SOURCE all the files are technically\nembedded into the tcc.c source file, while the other procedure is compiling each\nsource individually, then create libtcc, and then link the individually compiled\ntcc.o with libtcc. Functionally, the resulting binaries should be identical.\n\nThe Makefile can do both, and supposedly the cross compilers are compiled with\nONE_SOURCE while the native binary from the individual source files.\n\nWhen building natively, however, the maakefile ended up building the native\nbinary only with ONE_SOURCE.\n\nThis commit makes it build both. Native as plain tcc[.exe] while the \"cross\"\nas <platform>-tcc[.exe], which typically end up with different sizes too.","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/16d5ec88fb341ffc5d86e876164bb66d6563fb88"},{"sha":"7896dcfb3ac3f21ef1c8575d309239743530e3bb","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"tcc: version: print also native/cross and related info","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/7896dcfb3ac3f21ef1c8575d309239743530e3bb"},{"sha":"93b32b4914c76ab19f3979c80e710f887e3e9210","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"win: build: try to make a reproducible self-hosting buld\n\nDepends only on an external CC (no AR).\n\nCurrently if the external CC is gcc or cl (msvc) or tcc built with one of those\ntwo, then the resulting tcc and libtcc1.a are identical and reproducible.\n\nHowever, if the external CC is the official pre-built windows tcc-0.9.26 binary\npackage (32 or 64), then the resulting tcc.exe (and libtcc1.o and as a result\nlibtcc1.a) are not identical to those which gcc/cl produce. Trying again with\nthe resulting binaries will stay identical to the previous binaries (and\ndifferent than the ones which gcc/cl end up creating).\n\nThe differences between the two \"classes\" of binaries are small - they have\nidentical size, but on few (probably less than 5-10) occasions, the tcc-0.9.26\nproduced binary has a byte of 128 where the gcc/cl produced binary has 0.\n\nThis difference in the produced binaries doesn't affect all source files. E.g.\nin libtcc1, only libtcc1.c produces an different object, but all the other\nlibtcc1 sources produce identical objects.\n\nIt's similar on other projects too. Some source files consistently produce\nidentical objects, while other sources don't - all with the same 0/128 diff.","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/93b32b4914c76ab19f3979c80e710f887e3e9210"},{"sha":"b42adb3acd6354a54d87f473fb16970142905812","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"lib64 dir: decide only once, apply everywhere\n\nThere were several different tests at different places which decide if we need\nlib or lib64. All these tests happened before runtime (configure/compile time).\n\nSo use 'lib' as default everywhere, and decide once (at configure) whether or\nnot we should use lib64 instead.\n\nSpecifically also: when bulding cross compilers on a native 64 system which\ndoesn't use lib64, configure wasn't setting CONFIG_LDDIR, and #define logic at\ntcc.h decided to use lib64, which ended up with unusable binaries. So now this\ntoo defaults to 'lib' and configure now sets CONFIG_LDDIR also when building\ncross compilers.","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/b42adb3acd6354a54d87f473fb16970142905812"},{"sha":"338f8a773fcd86f34b09f884257020468c92942b","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"build: non-win: allow also custom dir\n\nWhen building from the root tcc dir, $TOP and $top_srcdir are the same, but with\na custom build dir, we need top_srcdir","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/338f8a773fcd86f34b09f884257020468c92942b"},{"sha":"f9f459a35cd454de015d184c4698db0ff6997967","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"build: don't build cross when building native\n\nWhen building cross compilers, native is built as well, and when buiding native,\nwe don't need the cross ones.","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/f9f459a35cd454de015d184c4698db0ff6997967"},{"sha":"846656e4f84f22c436be1246bfc72f91809ca3b7","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"win32: reproducible build: add dummy libm","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/846656e4f84f22c436be1246bfc72f91809ca3b7"},{"sha":"8c144628c0a6ca5fd97ba7c22b40996337272fce","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"win: build batch: add some configurability, add tcclib.h\n\n- Allow CC and compile flags (WINTCCFLAGS) to be defined externally.\n- If TCCSTATIC is defined, creates a statically linked libtcc and tcc.\n- Added tcclib.h to include/ (needed for examples/libtcc_test.c etc).\n- Added some comments and info.","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/8c144628c0a6ca5fd97ba7c22b40996337272fce"},{"sha":"e8217b053e24b003bd6ce12cf88cb1ea4863f7da","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"win: getopt: add verbatim copy of implementation from musl-libc\n\ngetopt is still not useable in this commit.\n\nThe files ares taken from musl-libc rs-1.0:\nhttp://git.musl-libc.org/cgit/musl/tree/include/getopt.h?h=rs-1.0\nhttp://git.musl-libc.org/cgit/musl/tree/src/misc/getopt.c?h=rs-1.0\nhttp://git.musl-libc.org/cgit/musl/tree/src/misc/getopt_long.c?h=rs-1.0\n\nmusl-libc is licensed as MIT:\nhttp://git.musl-libc.org/cgit/musl/tree/COPYRIGHT?h=rs-1.0","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/e8217b053e24b003bd6ce12cf88cb1ea4863f7da"},{"sha":"afe9505f69663cc79839b16cb0e963384fc27c62","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"win: getopt: create an accessible getopt.h as inline implementation","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/afe9505f69663cc79839b16cb0e963384fc27c62"},{"sha":"a080454a6fe2f270acf9bb909291baad32f8bfad","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"win: getopt: update to musl-libc master - now with gnu extensions","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/a080454a6fe2f270acf9bb909291baad32f8bfad"},{"sha":"3784e58e02efab5eca884469ffafcc30379e357d","author":{"email":"97169866e2be3cd67f9572774e4ee14e3e99838a@yahoo.com","name":"Avi Halachmi (:avih)"},"message":"win: rpath: use also {B}/local to search a global but non 'system' path","distinct":true,"url":"https://api.github.com/repos/avih/tinycc/commits/3784e58e02efab5eca884469ffafcc30379e357d"}]}