Multi Arch ELF binary/object compiling, linking and more

Michael Vale m.vale at live.com.au
Thu Aug 6 02:51:36 UTC 2015


You can try and read my lyrics off of this paper before I lay 'emBut you won't take the sting out these words before I say 'emCause ain't no way I'ma let you stop me from causing mayhemWhen I say I'ma do something I do it,I don't give a damn what you think,I'm doing this for me, so fuck the worldFeed it beans, it's gassed up, if it thinks it's stopping mehttps://www.youtube.com/watch?v=j5-yKhDd64s

Hey,
Okay here it is.  It's not complete yet, but I'm throwing it out there while I have the chance.
One can specify the build machine's arch type with ARCH=, the host (and in turn the build machine if one is not set) with X_BUILD_FOR= and also finally the target with TARGET=.  You can choose to set all three to the same arch as the target, or whatever pleases you.  Surely if you're smart and doing some wicked fancy things you can benefit from setting different archs accordingly, if you're accessing these binaries and objects from a central storage and utilising resources over a network.
EDIT: What I forgot to mention is, to utilize "cross-compiling" allows one to run the same binaries and objects on multiple architectures.  So one would think the build variable would have to be one of the machine compiling the binaries and objects but that is not the case, it has other purposes too.  It has been clear in the GNU and FreeBSD way of things that by retaining the build variable as the one you compile the binary on and setting the HOST variable defines what "other" (sic.) architecture the binaries or object execute on when infact by setting HOST, you also tend to automatically adjust TARGET to suit.  The light on this matter is that you can infact set an intermediate HOST architecture to the TARGET that allows building tasks assigned to the BUILD variable, 'hosting' and 'operating' on the HOST architecture and native execution on the TARGET.  Don't think for one moment though that you can't set all three BUILD, HOST and TARGET to the TARGET architecture and use that binary or object as a development utility, host or native on the desired platform/architecture.
The work is rather complete, I've managed to build asterisk, kismet and different X11/Xorg servers and all their dependencies.
I haven't begun on slimming down the stage outfits into something suitable for embedded flashing and packaging.
https://www.youtube.com/watch?v=BE9CXWV1alg
- Michael. 		 	   		  
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bsd.port.mk-thurs-aug6
Type: application/octet-stream
Size: 3901 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20150806/330c1f49/attachment.obj>


More information about the freebsd-arm mailing list