Date: Thu, 6 Aug 2015 13:20:27 +1030 From: Michael Vale <m.vale@live.com.au> To: Adrian Chadd <adrian@freebsd.org>, "bapt@freebsd.org" <bapt@freebsd.org>, "freebsd-mips@freebsd.org" <freebsd-mips@freebsd.org>, "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>, "freebsd-embedded@freebsd.org" <freebsd-embedded@freebsd.org> Subject: Multi Arch ELF binary/object compiling, linking and more Message-ID: <COL130-W1677EAC8CAF590A2C4D068C4740@phx.gbl>
next in thread | raw e-mail | index | archive | help
--_e1e9dfa6-1295-45a5-a56d-b4b57896ae12_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable You can try and read my lyrics off of this paper before I lay 'emBut you wo= n'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=2CI= don't give a damn what you think=2CI'm doing this for me=2C so fuck the wo= rldFeed it beans=2C it's gassed up=2C if it thinks it's stopping mehttps://= www.youtube.com/watch?v=3Dj5-yKhDd64s Hey=2C Okay here it is. It's not complete yet=2C but I'm throwing it out there wh= ile I have the chance. One can specify the build machine's arch type with ARCH=3D=2C the host (and= in turn the build machine if one is not set) with X_BUILD_FOR=3D and also = finally the target with TARGET=3D. You can choose to set all three to the = same arch as the target=2C or whatever pleases you. Surely if you're smart= and doing some wicked fancy things you can benefit from setting different = archs accordingly=2C 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=2C to utilize "cross-compiling" allows on= e to run the same binaries and objects on multiple architectures. So one w= ould think the build variable would have to be one of the machine compiling= the binaries and objects but that is not the case=2C it has other purposes= too. It has been clear in the GNU and FreeBSD way of things that by retai= ning the build variable as the one you compile the binary on and setting th= e HOST variable defines what "other" (sic.) architecture the binaries or ob= ject execute on when infact by setting HOST=2C you also tend to automatical= ly 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 ta= sks assigned to the BUILD variable=2C 'hosting' and 'operating' on the HOST= architecture and native execution on the TARGET. Don't think for one mome= nt though that you can't set all three BUILD=2C HOST and TARGET to the TARG= ET architecture and use that binary or object as a development utility=2C h= ost or native on the desired platform/architecture. The work is rather complete=2C I've managed to build asterisk=2C 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=3DBE9CXWV1alg - Michael. = --_e1e9dfa6-1295-45a5-a56d-b4b57896ae12_ Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="bsd.port.mk-thurs-aug6" LS0tIC9ob21lL2dvZC9Eb3dubG9hZHMvYnNkLnBvcnQubWsudmFuaWxsYQkyMDE1LTA4LTA1IDIy OjI1OjQ5LjAwODMyNjQwNSAtMDQwMAorKysgL3Vzci9wb3J0cy9Nay9ic2QucG9ydC5tawkyMDE1 LTA4LTA1IDE5OjA5OjMxLjc0ODE1MDU0MiAtMDQwMApAQCAtMSw3ICsxLDcgQEAKICMtKi0gdGFi LXdpZHRoOiA0OyAtKi0KICMgZXg6dHM9NAogIwotIyAkRnJlZUJTRCQKKyMgJEZyZWVCU0Q6IGhl YWQvTWsvYnNkLnBvcnQubWsgMzkzMDU0IDIwMTUtMDctMjggMDc6MzQ6MzhaIG1hdCAkCiAjCSRO ZXRCU0Q6ICQKICMKICMJYnNkLnBvcnQubWsgLSA5NDA4MjAgSm9yZGFuIEsuIEh1YmJhcmQuCkBA IC0xMDU4LDIzICsxMDU4LDI0IEBACiAuaWYgIWRlZmluZWQoLlBBUlNFRElSKQogSUdOT1JFPQlD cm9zcyBidWlsZGluZyBjYW4gb25seSBiZSBkb25lIHdoZW4gdXNpbmcgYm1ha2UoMSkgYXMgbWFr ZSgxKQogLmVuZGlmCitBUkNIPQkke1hfQlVJTERfRk9SfQogIyBEbyBub3QgZGVmaW5lIENQUCBv biBwdXJwb3NlCiAuaWYgIWRlZmluZWQoSE9TVENDKQogSE9TVENDOj0JJHtDQ30KIEhPU1RDWFg6 PQkke0NYWH0KIC5lbmRpZgotLmlmICFleGlzdHMoL3Vzci8ke1hfQlVJTERfRk9SfS91c3IvYmlu L2NjKQorLmlmICFleGlzdHMoL3Vzci9iaW4vbWlwcy1jYykKIFhfU1lTUk9PVD0JJHtMT0NBTEJB U0V9LyR7WF9CVUlMRF9GT1J9CiAuZWxzZQogWF9TWVNST09UPQkvdXNyLyR7WF9CVUlMRF9GT1J9 CiAuZW5kaWYKLUNDPQkJJHtYX1NZU1JPT1R9L3Vzci9iaW4vY2MKLUNYWD0JJHtYX1NZU1JPT1R9 L3Vzci9iaW4vYysrCi1OTT0JCSR7WF9CVUlMRF9GT1J9LW5tCi1TVFJJUF9DTUQ9CSR7WF9CVUlM RF9GT1J9LXN0cmlwCisjQ0M9CQkvdXNyL2Jpbi9taXBzLWNjCisjQ1hYPQkJL3Vzci9iaW4vbWlw cy1jKysKK05NPQkJJHtYX0JVSUxEX0ZPUn0tZnJlZWJzZC1ubQorI1NUUklQX0NNRD0JJHtYX0JV SUxEX0ZPUn0tZnJlZWJzZC1zdHJpcAogIyBvbmx5IGJtYWtlIHN1cHBvcnQgdGhlIGJlbG93Ci1T VFJJUEJJTj0JJHtTVFJJUF9DTUR9Ci0uZXhwb3J0LmVudiBTVFJJUEJJTgorI1NUUklQQklOPQkk e1NUUklQX0NNRH0KKyMuZXhwb3J0LmVudiBTVFJJUEJJTgogLmVuZGlmCiAKICMKQEAgLTEyMzQs NyArMTIzNSw3IEBACiBQS0dPUklHSU4/PQkJJHtQS0dDQVRFR09SWX0vJHtQT1JURElSTkFNRX0K IAogIyB3aGVyZSAnbWFrZSBjb25maWcnIHJlY29yZHMgdXNlciBjb25maWd1cmF0aW9uIG9wdGlv bnMKLVBPUlRfREJESVI/PQkvdmFyL2RiL3BvcnRzCitQT1JUX0RCRElSPz0JJHtERVNURElSfS92 YXIvZGIvcG9ydHMKIAogVUlEX0ZJTEVTPz0JJHtQT1JUU0RJUn0vVUlEcwogR0lEX0ZJTEVTPz0J JHtQT1JUU0RJUn0vR0lEcwpAQCAtMTM0Nyw3ICsxMzQ4LDcgQEAKIExEQ09ORklHX0NNRD89CQkJ JHtMSU5VWEJBU0V9L3NiaW4vbGRjb25maWcgLXIgJHtMSU5VWEJBU0V9CiAuZW5kaWYKIAotUEtH Q09NUEFURElSPz0JCSR7TE9DQUxCQVNFfS9saWIvY29tcGF0L3BrZworUEtHQ09NUEFURElSPz0J CSR7WF9TWVNST09UfSR7TE9DQUxCQVNFfS9saWIvY29tcGF0L3BrZwogCiAuaWYgZGVmaW5lZChV U0VfTE9DQUxfTUspCiAuaW5jbHVkZSAiJHtQT1JUU0RJUn0vTWsvYnNkLmxvY2FsLm1rIgpAQCAt MTUyMiwxMCArMTUyMywyOCBAQAogCQkJCVBPUlRTRElSPSIke1BPUlRTRElSfSIKIAogLmlmIGRl ZmluZWQoWF9CVUlMRF9GT1IpCi1CVUlMRF9ERVBFTkRTKz0JJHtYX0JVSUxEX0ZPUn0tY2M6JHtQ T1JUU0RJUn0vZGV2ZWwvJHtYX0JVSUxEX0ZPUn0teGRldgotUEtHX0VOVis9CQlBQklfRklMRT0k e1hfU1lTUk9PVH0vdXNyL2xpYi9jcnQxLm8KLU1BS0VfRU5WKz0JCU5NPSR7Tk19IFwKLQkJCQlT VFJJUEJJTj0ke1hfQlVJTERfRk9SfS1zdHJpcCBcCisKK1BMSVNUX1NVQj0JVEFSR0VUQVJDSD0k e1hfQlVJTERfRk9SfSAjJHtQS0dOQU1FUFJFRklYOkMvLS8vZ30gXAorCQlPUFNZUz0ke09QU1lT OnRsfSBcCisJCUdDQ19UQVJHRVQ9JHtHQ0NfVEFSR0VUfSBcCisJCUdDQ19WRVJTSU9OPSR7UE9S VFZFUlNJT059CisKKyNCVUlMRF9ERVBFTkRTKz0gICAgICAgICR7WF9CVUlMRF9GT1J9LWNjOiR7 UE9SVFNESVJ9L2RldmVsLyR7WF9CVUlMRF9GT1J9LWdjYworCisuaWYgZW1wdHkoR0NDX1RBUkdF VCkKKyMgV2UgYXJlIGJ1aWxkaW5nIGZvciBhIEZyZWVCU0QgdGFyZ2V0CitHQ0NfVEFSR0VUPz0g ICAgJHtYX0JVSUxEX0ZPUn0tJHtPUFNZUzp0bH0gIyAke1BLR05BTUVQUkVGSVh9cG9ydAorQlVf UFJFRklYPz0gICAgICR7WF9CVUlMRF9GT1J9LSR7T1BTWVM6dGx9ICMgJHtQS0dOQU1FUFJFRklY fSR7T1BTWVM6dGx9CisuZWxzZQorQlVfUFJFRklYPz0gICAgICR7R0NDX1RBUkdFVH0KKy5lbmRp ZgorCisjSU5DUys9CQktSSR7WF9TWVNST09UfS91c3IvaW5jbHVkZSAtSSR7WF9TWVNST09UfS91 c3IvbG9jYWwvaW5jbHVkZQorUEtHX0VOVis9CQkJQUJJX0ZJTEU9JHtYX1NZU1JPT1R9L3Vzci9s aWIvY3J0MS5vCitNQUtFX0VOVis9CQkJTk09JHtOTX0gXAorCQkJCUNGTEFHUz0ke0lOQ1N9IFwK KwkJCQlDWFhGTEFHUz0ke0lOQ1N9IFwKKwkJCQlTVFJJUEJJTj0ke1hfQlVJTERfRk9SfS1mcmVl YnNkLXN0cmlwIFwKIAkJCQlQS0dfQ09ORklHX1NZU1JPT1RfRElSPSIke1hfU1lTUk9PVH0iCiBD T05GSUdVUkVfRU5WKz0JUEtHX0NPTkZJR19TWVNST09UX0RJUj0iJHtYX1NZU1JPT1R9IgogLmVu ZGlmCkBAIC0xNjA4LDggKzE2MjcsMTMgQEAKIFBMSVNUX1NVQis9CSAgICAgICAgUE9SVEVYQU1Q TEVTPSIiCiAuZW5kaWYKIAotQ09ORklHVVJFX1NIRUxMPz0JJHtTSH0KLU1BS0VfU0hFTEw/PQkk e1NIfQorLmlmICFkZWZpbmVkKFhfQlVJTERfRk9SKQorQ09ORklHVVJFX1NIRUxMPz0gICAgICAg JHtTSH0KK01BS0VfU0hFTEw/PSAgICAke1NIfQorLmVsc2UKK0NPTkZJR1VSRV9TSEVMTD89ICAg ICAgIC9iaW4vc2gKK01BS0VfU0hFTEw/PSAgICAgICAgICAgIC9iaW4vc2gKKy5lbmRpZgogCiBD T05GSUdVUkVfRU5WKz0JU0hFTEw9JHtDT05GSUdVUkVfU0hFTEx9IENPTkZJR19TSEVMTD0ke0NP TkZJR1VSRV9TSEVMTH0KIE1BS0VfRU5WKz0JCVNIRUxMPSR7TUFLRV9TSEVMTH0gTk9fTElOVD1Z RVMKQEAgLTI1NTAsNyArMjU3NCw3IEBACiAKIENPTkZJR1VSRV9TQ1JJUFQ/PQljb25maWd1cmUK IENPTkZJR1VSRV9DTUQ/PQkJLi8ke0NPTkZJR1VSRV9TQ1JJUFR9Ci1DT05GSUdVUkVfVEFSR0VU Pz0JJHtBUkNIfS1wb3J0YmxkLSR7T1BTWVM6dGx9JHtPU1JFTH0KK0NPTkZJR1VSRV9UQVJHRVQ/ PQkke0FSQ0h9LSR7T1BTWVM6dGx9CiBDT05GSUdVUkVfVEFSR0VUOj0JJHtDT05GSUdVUkVfVEFS R0VUOlMvLS1idWlsZD0vL30KIENPTkZJR1VSRV9MT0c/PQkJY29uZmlnLmxvZwogCkBAIC0yNTY3 LDcgKzI1OTEsMTAgQEAKIENPTkZJR19TSVRFPz0JCSR7UE9SVFNESVJ9L1RlbXBsYXRlcy9jb25m aWcuc2l0ZQogQ09ORklHVVJFX0FSR1MrPQktLXByZWZpeD0ke0dOVV9DT05GSUdVUkVfUFJFRklY fSAkJHtfTEFURV9DT05GSUdVUkVfQVJHU30KIC5pZiBkZWZpbmVkKFhfQlVJTERfRk9SKQotQ09O RklHVVJFX0FSR1MrPQktLWhvc3Q9JHtYX0JVSUxEX0ZPUn0KK0NPTkZJR1VSRV9BUkdTKz0JLS1o b3N0PSR7WF9CVUlMRF9GT1J9LXBvcnRibGQtJHtPUFNZUzp0bH0ke09TUkVMfQorLmVuZGlmCisu aWYgZGVmaW5lZChUQVJHRVQpCitDT05GSUdVUkVfQVJHUys9ICAgICAgICAtLXRhcmdldD0ke1RB UkdFVH0tJHtPUFNZUzp0bH0KIC5lbmRpZgogQ09ORklHVVJFX0VOVis9CQlDT05GSUdfU0lURT0k e0NPTkZJR19TSVRFfSBsdF9jdl9zeXNfbWF4X2NtZF9sZW49JHtDT05GSUdVUkVfTUFYX0NNRF9M RU59CiBIQVNfQ09ORklHVVJFPQkJeWVzCg== --_e1e9dfa6-1295-45a5-a56d-b4b57896ae12_--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?COL130-W1677EAC8CAF590A2C4D068C4740>