Added a cross-compilation subpackage for aarch64 into gcc.#6996
Added a cross-compilation subpackage for aarch64 into gcc.#6996
gcc.#6996Conversation
|
Haven't had a chance to look at the binutils pr, is there a set of pro/cons around for having a single .spec versus a dedicated cross version of the spec? |
Having it all in one file makes it definitely more robust, but splitting into separate spec files make it harder to track version upgrades and CVE fixes, as they will have to be duplicated among these separate specs. My main worry with a single spec is that we're adding the package to the toolchain without a good reason, but I decided to postpone the solution until we enable custom per-spec macros - the idea you mentioned to me in December, which would allow us to build the same spec but with a slightly different configuration. |
ec98ac9 to
64c88c1
Compare
| %configure \ | ||
| --enable-shared \ | ||
| --enable-threads=posix \ | ||
| --disable-bootstrap \ | ||
| --disable-multilib \ | ||
| --enable-__cxa_atexit \ | ||
| --enable-clocale=gnu \ | ||
| --enable-default-pie \ | ||
| --enable-languages=c,c++,fortran \ | ||
| --disable-multilib \ | ||
| --disable-bootstrap \ | ||
| --enable-linker-build-id \ | ||
| --enable-plugin \ | ||
| --enable-default-pie \ | ||
| --enable-shared \ | ||
| --enable-threads=posix \ | ||
| --with-system-zlib |
There was a problem hiding this comment.
No changes to the default configuration - just putting the arguments in alphabetical order whenever possible.:)
#7465) Co-authored-by: dallasd1 <dadelan@microsoft.com>
#7465) Co-authored-by: dallasd1 <dadelan@microsoft.com>
… into gcc. (microsoft#7465) Co-authored-by: dallasd1 <dadelan@microsoft.com>
Merge Checklist
All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)
*-staticsubpackages, etc.) have had theirReleasetag incremented../cgmanifest.json,./toolkit/scripts/toolchain/cgmanifest.json,.github/workflows/cgmanifest.json)./SPECS/LICENSES-AND-NOTICES/data/licenses.json,./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md,./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)*.signatures.jsonfilessudo make go-tidy-allandsudo make go-test-coveragepassSummary
WARNING: requires #6945 for full build or the fast-track PR check run.
Continuation of #6945 and the remainder of the changes from #5569. This change adds a cross-compilation version of
gcc.Change Log
gcc.spec.Does this affect the toolchain?
Yes.
Associated issues
binutilsandkernel-headers. #6945Test Methodology
Local package build and test.
Full build after merging Added cross-compilation
binutilsandkernel-headers. #6945 inside thepawelwi/dadelan/cross_full_testbranch.Fast-track style PR check from the same
pawelwi/dadelan/cross_full_testbranch.Verified I was able to build ARM64 glibc binaries by following an online article starting from the "Install glibc headers and bootstrap libraries" step (earlier steps are handled by installing the new cross-compilation packages) all the way to the "Build and install glibc for the target system". I skipped the "Build and install libgcc" step as libgcc is already provided inside the new gcc subpackage.
Notes for the "Install glibc headers and bootstrap libraries" instructions:
PREFIX=/usrandTARGET=aarch64-linux-gnu.--with-headers=$PREFIX/arm64-linux-gnu/includeinstead of the path from the article, since our path is a bit different.