Commit Graph

40 Commits

Author SHA1 Message Date
edbc53246e Added armv7-targeted cross-compiler (arm-linux-gnueabihf) 2021-12-01 17:20:29 +04:00
Alexey Sheplyakov
3149149e63 20210831-alt1
- Fixed build failure due to LTO enforcement
2021-09-03 19:56:39 +04:00
Alexey Sheplyakov
b993013466 Avoid build failure due to inappropriate checks
Recently yet another post-build check has been added:

/usr/bin/strip: Unable to recognise the format of the input file `./usr/lib/aarch64-linux-gnu/sys-root/usr/lib64/libc.a(getutxid.o)'

which (unsurpisingly) broke the build.
Tell strip to ignore the foreign libraries.
2021-09-03 19:56:39 +04:00
Alexey Sheplyakov
c0cfb9ca59 20210804
Avoid hard-coding versions of {gcc,binutils,glibc}-sources so there's no
need to updated the spec whenever GCC, binutils, or glibc gets rebuilt.
2021-08-05 13:32:52 +04:00
Alexey Sheplyakov
b93316f976 Don't hard-code {gcc,glibc,binutils}-source versions 2021-08-05 13:32:52 +04:00
Alexey Sheplyakov
85c770e81e 10.3.1-alt1
Initial build of proper aarch64-targeted GCC toolchain.
2021-07-30 12:37:38 +04:00
Alexey Sheplyakov
e04d5a0bd8 Avoid 'static library packaging violation' pseudo-error 2021-07-30 12:37:38 +04:00
Alexey Sheplyakov
33dd161ab8 Build GCC 10.3 from sisyphus
For now libsanitizer is disabled to avoid bootstrap problems.
2021-07-29 21:41:10 +04:00
Alexey Sheplyakov
143653be0b altcross.sh: repaired broken sed command 2021-07-29 21:12:21 +04:00
Alexey Sheplyakov
dfe065bd30 altcross.sh: disable libsanitizer to avoid build error
libsanitizer wants limits.h, which is a part of compiler. However
the compiler hasn't been installed yet, since we are building its
runtime. Disable libsanitizer to avoid the problem.

TODO: Perhaps there's a special target to build an install compiler
headers only. Figure it out and re-enable libsanitizer.
2021-07-29 21:11:56 +04:00
Alexey Sheplyakov
58d444cced Ignore boring files 2021-07-29 19:58:37 +04:00
Alexey Sheplyakov
6bd130caa8 altcross: don't hard-code versions of sources 2021-07-29 19:55:36 +04:00
Alexey Sheplyakov
1ca8679a31 8.4.1-alt2 2021-06-15 15:00:14 +00:00
Alexey Sheplyakov
096e3c14d6 Splitted cross-toolchain into subpackages 2021-06-15 14:55:40 +00:00
Alexey Sheplyakov
9c00a756fe 8.4.1-alt1
aarch64 targeted GCC 8.4 cross-toolchain with cross-glibc
2021-06-11 23:06:27 +00:00
Alexey Sheplyakov
f76d166df3 Added CMake toolchain file
cmake -DCMAKE_TOOLCHAIN_FILE=path/to/aarch64-linux-gnu.cmake ...
2021-06-11 23:06:26 +00:00
Alexey Sheplyakov
39afecc492 driver: run ${target}-as as a last resort
As of now the driver tries to locate `as` (and `ld`) somethere in $PATH
if nothing was found in libsubdir and tooldir. This is a bad idea for
a cross-compiler. Use DEFAULT_TARGET_MACHINE-{as,ld} instead.

Note that `collect2` already behaves that way (which is a good thing).
2021-06-11 23:06:26 +00:00
Alexey Sheplyakov
3e238594dd Added as, ar, ld, etc symlinks into /usr/libexec/gcc/aarch64-linux-gnu/8
Apparently `invoke_as:` directive in GCC spec file applies to running
assembler on C/C++ compiler output. However compiling `assemble` (.s) and
`assembler-with-cpp` pseudo-languages use `as`  instead of ${target}-as)
anyway. Fortunately GCC searches for `as` in libexec/gcc/$target/$version
directory. Therefore add symlink to ${target}-as into that directory.
Do the same thing for ar, ld, nm, objcopy, etc just in a case.
2021-06-11 23:06:26 +00:00
Alexey Sheplyakov
e3b5169d89 Attempt to cope with ALT Linux' FHS idiocy
Apparently obeing FHS is more important than having a working
(cross-) compiler.
2021-06-11 23:06:26 +00:00
Alexey Sheplyakov
708060b302 Added a brief description of the repo 2021-06-11 16:30:19 +04:00
Alexey Sheplyakov
fddf282c10 Added dummy .gear/rules 2021-06-10 13:38:14 +00:00
Alexey Sheplyakov
8a45f1836f BuildRequire rsync for Linux install_headers 2021-06-10 13:36:11 +00:00
Alexey Sheplyakov
7f00ada1bb altcross.sh: set /lib64/ld-linux-aarch64.so.1 as an ELF interpreter by default 2021-06-10 11:33:12 +00:00
Alexey Sheplyakov
4085c0751d Skip libtool .la files and gdb pretty-printers
gdb pretty-printers are useful at runtime only
libtool .la files are not packaged in ALT (for good)
2021-06-10 11:16:38 +00:00
Alexey Sheplyakov
bd427575f9 Build on x86_64 only
aarch64-targeted cross-compiler definitely does not make any sense on
aarch64 and armh (native or multilib compilers are available).
Using 32-bit x86 as a development platform does not make any sense either.
Same applies to mipsel. ppc64el and e2k might be powerful enough but
these machines are way too rare/expensive.
2021-06-10 10:04:47 +00:00
Alexey Sheplyakov
44022160d2 Added manpages to the package 2021-06-10 09:42:44 +00:00
Alexey Sheplyakov
519dd0f982 Extended %check so it actually runs 'hello world' binaries 2021-06-09 17:09:54 +00:00
Alexey Sheplyakov
77ba6bf982 made cross-compiler set the same ELF interpreter as the native one
That is, /lib64/ld-linux-aarch64.so.1
2021-06-09 17:08:54 +00:00
Alexey Sheplyakov
c11d91e753 Check if compilers are able to compile 'hello, world' 2021-06-09 14:01:48 +00:00
Alexey Sheplyakov
04eaf11b15 altcross.sh: use ccache 2021-06-09 13:36:36 +00:00
Alexey Sheplyakov
dcf015a7d3 altcross.h: install GCC runtime libs into version-specific dir
That is into lib/gcc/$TARGET/${GCC_MAJOR_VERSION}
2021-06-09 13:36:23 +00:00
Alexey Sheplyakov
3f37adc7f3 The compiler is able to locate libgcc_s and crt1.o now 2021-06-09 13:34:52 +00:00
Alexey Sheplyakov
2a6cd19943 prevent findreq from fiddling with target libraries 2021-06-09 10:53:56 +00:00
Alexey Sheplyakov
074add65d4 shut up verify-elf 2021-06-09 10:06:18 +00:00
Alexey Sheplyakov
904a8ef727 sys-root 2021-06-09 07:59:25 +00:00
Alexey Sheplyakov
e76dab8455 Moved libraries and C++ headers into version-specific directory
I.e. to /usr/lib/gcc/aarch64-linux-gnu/8
2021-06-09 07:01:27 +00:00
Alexey Sheplyakov
cb8d13f7e7 cross-toolchain: use separate stagedir 2021-06-09 05:57:48 +00:00
Alexey Sheplyakov
9cdf784823 (WIP) cross-toolchain spec based on altcross.sh 2021-06-09 04:55:17 +00:00
Alexey Sheplyakov
a616b555d5 Install compiler runtime into lib/gcc/$target/$GCC_MAJOR_VERSION 2021-06-07 14:26:25 +00:00
Alexey Sheplyakov
891dc7c0fc altcross: initial version based on https://github.com/abhiTronix/raspberry-pi-cross-compilers 2021-06-07 09:54:02 +00:00