Hi,

On Tue, 18 Oct 2016, avih wrote:

> Some time ago I also bumped into the lib64 issue, which was apparent 
> when building cross compilers on a 64 system which doesn't use lib64, 
> e.g. Ubuntu 64. At the time I wrote a patch (which I didn't submit to 
> mob) which decides only at one place (configure) and then uses it 
> everywhere else.That's the patch: 
> https://github.com/avih/tinycc/commit/65b39fb66657459339fac88f1f4f4cedca4d0ad1

See my follow up, that's not a complete solution either because the 
$target-tcc compilers aren't build with NATIVE_DEFINES.  There are three 
major ways of dealing with multi-lib systems:

1 no multi-lib at all.  subcases:
  a) 64-bit only into /lib64
  b) 64-bit only but into /lib
2 restricted multi-lib, 32-bit or 64-bit
  at least non-debian linuxes:
  a) 64-bit to /lib64, 32-bit to /lib, 64-bit considered "native"
  b) 64-bit to /lib, 32-bit to /lib32, 64-bit considered "native"
3 unrestricted multi-lib, aka multiarch
  debian linuxes:
  everything to /usr/$triplet/lib

I don't know about the *BSDs, but probably they fit one of the above.  The 
way to find out which directory is used by gcc when calling without 
options (i.e. the default) is to inspect the output of

% gcc --print-file-name=crt1.o

The second to last component will be the libdir name.  The full path could 
also be used.

> However, with recent clean mob (though I haven't tested with the very 
> latest 2-3 commits as of now)

Yeah, it's the (as of now) most recent commit that broke it :)


Ciao,
Michael.

_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to