tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] win64 cross now sort of works


From: grischka
Subject: Re: [Tinycc-devel] win64 cross now sort of works
Date: Sun, 05 Dec 2010 19:38:52 +0100
User-agent: Thunderbird 2.0.0.23 (Windows/20090812)

Henry Kroll wrote:
On Sat, 2010-12-04 at 20:13 +0100, grischka wrote:
Okay, after something like over 40 commits trying to make this
feature work "sort of" I felt it might need some cleanup:

Those makefiles are impressive and tcc's path searching is cleaner.
Outstanding. Thanks. That other make was making my head hurt.

Well I knew that the Makefile was not written really with support in
mind for what you were trying to do.  That's all.

There were
only a couple small issues today that were easily fixed.

* Parallel make fails to synchronize targets, but it works with `make
-j1`
../x86_64-win32-tcc -B../win32 -I../include -c libtcc1.c -o
x86_64-win32/libtcc1.o -DTCC_TARGET_X86_64 -DTCC_TARGET_PE
make[1]: ../i386-win32-tcc: Command not found

I pushed a tiny patch to fix this. I hope you don't mind. I merely added
a variable called $(PROGS_CROSS_WAIT) which is set by ifdef CONFIG_CROSS
and made it a prerequisite to   lib/%/libtcc1.a : FORCE
$(PROGS_CROSS_WAIT)

Right.  Probably it can be just $(PROGS_CROSS) since the "lib/%/libtcc1.a"
target is neither used nor would it work in non-cross configuration.

http://repo.or.cz/w/tinycc.git/commitdiff/50ff5ed790d2c147684ac8bb73a79147dc1dfbf6

* tcc: error: invalid option -- '-s' when building using make CC=tcc

I looked at the manual for gcc and it says "-s Remove all symbol table
and relocation information from the executable." As far as I know tcc
does this already, so I just added a dummy option to make tcc accept it
as a parameter. Tcc will warn about it if -Wunsupported is set.

http://repo.or.cz/w/tinycc.git/commitdiff/eb550ed23baa869ac69d6576d5cdced8b2404f98

I've never tried "make CC=tcc" but I'm glad to hear it works.

* I don't really need alloca (libtcc1) for the i386-tcc (Linux 64->32
cross-compiler). I used to be able to pack it into the same archive when
libtcc1.o was compiled as 64 bit, but there is just something
non-standard and breakable about that... I would write something to add
it separately, but I don't want to trip up any work you might be doing
and your knowledge about this stuff is superior. :)

Yes, "non-standard and breakable", forget it.  Also I've some doubts
that tcc's built-in linker (tccelf.c) is able to load libraries with
mixed objects.

In any case such feature would need some tests preferably _before_ you
push it on our "mob" branch ;)

Tip of the day: "git commit --amend ..." often comes in handy to make
changes to the last commit, provided it was not yet pushed to a public
branch.

--- grischka




reply via email to

[Prev in Thread] Current Thread [Next in Thread]