diff options
author | Ting-Wei Lan <lantw44@gmail.com> | 2015-12-29 17:43:36 +0800 |
---|---|---|
committer | Ting-Wei Lan <lantw44@gmail.com> | 2015-12-29 17:43:36 +0800 |
commit | 955ba125b3ca439c9389e44454b89cefca5bcda6 (patch) | |
tree | 43fbe8bb5a7e437f2a7c9a8113a3b1919aa9ead4 | |
parent | bbb8fceb797e5d7f55128664ffac88663b4d3307 (diff) | |
download | copr-rpm-spec-955ba125b3ca439c9389e44454b89cefca5bcda6.tar.gz copr-rpm-spec-955ba125b3ca439c9389e44454b89cefca5bcda6.tar.zst copr-rpm-spec-955ba125b3ca439c9389e44454b89cefca5bcda6.zip |
arm-linux-gnueabi-toolchain: Support armv7hl and aarch64
Most build options are also synced with Fedora.
5 files changed, 296 insertions, 139 deletions
diff --git a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-binutils/arm-linux-gnueabi-binutils.spec b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-binutils/arm-linux-gnueabi-binutils.spec index 709fe29..68f6235 100644 --- a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-binutils/arm-linux-gnueabi-binutils.spec +++ b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-binutils/arm-linux-gnueabi-binutils.spec @@ -4,7 +4,7 @@ Name: %{cross_triplet}-binutils Version: 2.25.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A GNU collection of binary utilities (%{cross_triplet}) Group: Development/Tools @@ -29,6 +29,7 @@ Requires: %{cross_triplet}-filesystem --build=%{_target_platform} \ --target=%{cross_triplet} \ --program-prefix=%{cross_triplet}- \ + --enable-64-bit-bfd \ --enable-ld=default \ --enable-gold=yes \ --enable-multilib \ @@ -83,6 +84,10 @@ rm -rf %{buildroot}%{_infodir} %changelog +* Mon Dec 28 2015 Ting-Wei Lan <lantw44@gmail.com> - 2.25.1-5 +- Sync configure options with Fedora +- Support arm-linux-gnueabihf and aarch64-linux-gnu + * Tue Nov 24 2015 Ting-Wei Lan <lantw44@gmail.com> - 2.25.1-4 - Require the filesystem sub-package diff --git a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-filesystem/arm-linux-gnueabi-filesystem.spec b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-filesystem/arm-linux-gnueabi-filesystem.spec index e7347ea..c2c66e2 100644 --- a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-filesystem/arm-linux-gnueabi-filesystem.spec +++ b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-filesystem/arm-linux-gnueabi-filesystem.spec @@ -2,8 +2,18 @@ %define cross_triplet arm-linux-gnueabi %define cross_sysroot %{_prefix}/%{cross_triplet}/sys-root +%if %{cross_arch} == "arm" + %define lib_dir_name lib +%else + %if %{cross_arch} == "arm64" + %define lib_dir_name lib64 + %else + %define lib_dir_name lib + %endif +%endif + Name: %{cross_triplet}-filesystem -Version: 1 +Version: 2 Release: 1%{?dist} Summary: Cross compilation toolchain filesystem layout (%{cross_triplet}) @@ -28,13 +38,15 @@ mkdir %{buildroot}%{_prefix}/%{cross_triplet}/bin mkdir %{buildroot}%{_prefix}/%{cross_triplet}/lib mkdir -p %{buildroot}%{cross_sysroot} mkdir %{buildroot}%{cross_sysroot}/etc +%if %{cross_arch} == "arm64" mkdir %{buildroot}%{cross_sysroot}/lib +%endif +mkdir %{buildroot}%{cross_sysroot}/%{lib_dir_name} mkdir %{buildroot}%{cross_sysroot}/sbin mkdir %{buildroot}%{cross_sysroot}/usr mkdir %{buildroot}%{cross_sysroot}/usr/bin -mkdir %{buildroot}%{cross_sysroot}/usr/etc mkdir %{buildroot}%{cross_sysroot}/usr/include -mkdir %{buildroot}%{cross_sysroot}/usr/lib +mkdir %{buildroot}%{cross_sysroot}/usr/%{lib_dir_name} mkdir %{buildroot}%{cross_sysroot}/usr/libexec mkdir %{buildroot}%{cross_sysroot}/usr/sbin mkdir %{buildroot}%{cross_sysroot}/usr/share @@ -48,13 +60,15 @@ mkdir %{buildroot}%{cross_sysroot}/var/db %dir %{_prefix}/%{cross_triplet}/lib %dir %{cross_sysroot} %dir %{cross_sysroot}/etc +%if %{cross_arch} == "arm64" %dir %{cross_sysroot}/lib +%endif +%dir %{cross_sysroot}/%{lib_dir_name} %dir %{cross_sysroot}/sbin %dir %{cross_sysroot}/usr %dir %{cross_sysroot}/usr/bin -%dir %{cross_sysroot}/usr/etc %dir %{cross_sysroot}/usr/include -%dir %{cross_sysroot}/usr/lib +%dir %{cross_sysroot}/usr/%{lib_dir_name} %dir %{cross_sysroot}/usr/libexec %dir %{cross_sysroot}/usr/sbin %dir %{cross_sysroot}/usr/share @@ -64,5 +78,9 @@ mkdir %{buildroot}%{cross_sysroot}/var/db %changelog +* Tue Dec 29 2015 Ting-Wei Lan <lantw44@gmail.com> - 2-1 +- Support aarch64-linux-gnu +- /usr/etc is not needed + * Tue Nov 24 2015 Ting-Wei Lan <lantw44@gmail.com> - 1-1 - Create required filesystem layout diff --git a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/arm-linux-gnueabi-gcc.spec b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/arm-linux-gnueabi-gcc.spec index 8d4d4e3..6639443 100644 --- a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/arm-linux-gnueabi-gcc.spec +++ b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-gcc/arm-linux-gnueabi-gcc.spec @@ -18,9 +18,19 @@ %define enable_ada 0 %endif +%if %{cross_arch} == "arm" + %define lib_dir_name lib +%else + %if %{cross_arch} == "arm64" + %define lib_dir_name lib64 + %else + %define lib_dir_name lib + %endif +%endif + Name: %{cross_triplet}-gcc%{pkg_suffix} Version: 5.3.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The GNU Compiler Collection (%{cross_triplet}) Group: Development/Languages @@ -79,12 +89,26 @@ WINDMC_FOR_TARGET=%{_bindir}/%{cross_triplet}-windmc \ --target=%{cross_triplet} \ --with-local-prefix=%{cross_sysroot} \ --with-sysroot=%{cross_sysroot} \ + --with-linker-hash-style=gnu \ --with-system-zlib \ --with-isl \ --disable-nls \ --enable-lto \ + --enable-multilib \ --enable-__cxa_atexit \ + --enable-initfini-array \ --enable-linker-build-id \ + --enable-gnu-unique-object \ + --enable-gnu-indirect-function \ +%if %{cross_arch} == "arm" +%if %(echo %{cross_triplet} | sed 's/.*-\([a-z]*\)$/\1/') == "gnueabihf" + --with-tune=cortex-a8 \ + --with-arch=armv7-a \ + --with-float=hard \ + --with-fpu=vfpv3-d16 \ + --with-abi=aapcs-linux \ +%endif +%endif %if %{cross_stage} == "pass1" --with-newlib \ --enable-languages=c \ @@ -133,15 +157,17 @@ make install-gcc DESTDIR=%{buildroot} %endif %if %{cross_stage} == "pass2" make install-gcc install-target-libgcc DESTDIR=%{buildroot} -mkdir -p %{buildroot}%{cross_sysroot}/lib -mv %{buildroot}%{_prefix}/%{cross_triplet}/lib/* %{buildroot}%{cross_sysroot}/lib -rmdir %{buildroot}%{_prefix}/%{cross_triplet}/lib +mkdir -p %{buildroot}%{cross_sysroot}/%{lib_dir_name} +mv %{buildroot}%{_prefix}/%{cross_triplet}/%{lib_dir_name}/* \ + %{buildroot}%{cross_sysroot}/%{lib_dir_name} +rmdir %{buildroot}%{_prefix}/%{cross_triplet}/%{lib_dir_name} %endif %if %{cross_stage} == "final" make install DESTDIR=%{buildroot} -mkdir -p %{buildroot}%{cross_sysroot}/lib -mv %{buildroot}%{_prefix}/%{cross_triplet}/lib/* %{buildroot}%{cross_sysroot}/lib -rmdir %{buildroot}%{_prefix}/%{cross_triplet}/lib +mkdir -p %{buildroot}%{cross_sysroot}/%{lib_dir_name} +mv %{buildroot}%{_prefix}/%{cross_triplet}/%{lib_dir_name}/* \ + %{buildroot}%{cross_sysroot}/%{lib_dir_name} +rmdir %{buildroot}%{_prefix}/%{cross_triplet}/%{lib_dir_name} %endif find %{buildroot} -name '*.la' -delete @@ -222,6 +248,8 @@ chmod +x %{__rpmdeps_skip_sysroot} %if %{cross_arch} == "arm" %{_prefix}/lib/gcc/%{cross_triplet}/%{version}/include/unwind-arm-common.h %{_prefix}/lib/gcc/%{cross_triplet}/%{version}/include/mmintrin.h +%endif +%if %{cross_arch} == "arm" || %{cross_arch} == "arm64" %{_prefix}/lib/gcc/%{cross_triplet}/%{version}/include/arm_neon.h %{_prefix}/lib/gcc/%{cross_triplet}/%{version}/include/arm_acle.h %endif @@ -236,11 +264,14 @@ chmod +x %{__rpmdeps_skip_sysroot} %{_prefix}/lib/gcc/%{cross_triplet}/%{version}/include/unwind.h %{_prefix}/lib/gcc/%{cross_triplet}/%{version}/crtbegin*.o %{_prefix}/lib/gcc/%{cross_triplet}/%{version}/crtend*.o +%if %{cross_arch} == "arm64" +%{_prefix}/lib/gcc/%{cross_triplet}/%{version}/crtfastmath.o +%endif %{_prefix}/lib/gcc/%{cross_triplet}/%{version}/libgcc.a %{_prefix}/lib/gcc/%{cross_triplet}/%{version}/libgcc_eh.a %{_prefix}/lib/gcc/%{cross_triplet}/%{version}/libgcov.a -%{cross_sysroot}/lib/libgcc_s.so -%{cross_sysroot}/lib/libgcc_s.so.1 +%{cross_sysroot}/%{lib_dir_name}/libgcc_s.so +%{cross_sysroot}/%{lib_dir_name}/libgcc_s.so.1 %endif %if %{cross_stage} == "final" %{_bindir}/%{cross_triplet}-c++ @@ -262,36 +293,36 @@ chmod +x %{__rpmdeps_skip_sysroot} %{_libexecdir}/gcc/%{cross_triplet}/%{version}/cc1obj %{_libexecdir}/gcc/%{cross_triplet}/%{version}/cc1objplus %{_libexecdir}/gcc/%{cross_triplet}/%{version}/f951 -%{cross_sysroot}/lib/libasan.a -%{cross_sysroot}/lib/libasan_preinit.o -%{cross_sysroot}/lib/libasan.so* -%{cross_sysroot}/lib/libatomic.a -%{cross_sysroot}/lib/libatomic.so* -%{cross_sysroot}/lib/libgfortran.a -%{cross_sysroot}/lib/libgfortran.so* -%{cross_sysroot}/lib/libgfortran.spec -%{cross_sysroot}/lib/libgomp.a -%{cross_sysroot}/lib/libgomp.so* -%{cross_sysroot}/lib/libgomp.spec -%{cross_sysroot}/lib/libgomp-plugin-host_nonshm.so* -%{cross_sysroot}/lib/libitm.a -%{cross_sysroot}/lib/libitm.so* -%{cross_sysroot}/lib/libitm.spec -%{cross_sysroot}/lib/libobjc.a -%{cross_sysroot}/lib/libobjc.so* -%{cross_sysroot}/lib/libsanitizer.spec -%{cross_sysroot}/lib/libssp.a -%{cross_sysroot}/lib/libssp_nonshared.a -%{cross_sysroot}/lib/libssp.so -%{cross_sysroot}/lib/libssp.so.0* -%{cross_sysroot}/lib/libstdc++fs.a -%{cross_sysroot}/lib/libstdc++.a -%{cross_sysroot}/lib/libstdc++.so -%{cross_sysroot}/lib/libstdc++.so.6 -%{cross_sysroot}/lib/libstdc++.so.6.*.* -%{cross_sysroot}/lib/libsupc++.a -%{cross_sysroot}/lib/libubsan.a -%{cross_sysroot}/lib/libubsan.so* +%{cross_sysroot}/%{lib_dir_name}/libasan.a +%{cross_sysroot}/%{lib_dir_name}/libasan_preinit.o +%{cross_sysroot}/%{lib_dir_name}/libasan.so* +%{cross_sysroot}/%{lib_dir_name}/libatomic.a +%{cross_sysroot}/%{lib_dir_name}/libatomic.so* +%{cross_sysroot}/%{lib_dir_name}/libgfortran.a +%{cross_sysroot}/%{lib_dir_name}/libgfortran.so* +%{cross_sysroot}/%{lib_dir_name}/libgfortran.spec +%{cross_sysroot}/%{lib_dir_name}/libgomp.a +%{cross_sysroot}/%{lib_dir_name}/libgomp.so* +%{cross_sysroot}/%{lib_dir_name}/libgomp.spec +%{cross_sysroot}/%{lib_dir_name}/libgomp-plugin-host_nonshm.so* +%{cross_sysroot}/%{lib_dir_name}/libitm.a +%{cross_sysroot}/%{lib_dir_name}/libitm.so* +%{cross_sysroot}/%{lib_dir_name}/libitm.spec +%{cross_sysroot}/%{lib_dir_name}/libobjc.a +%{cross_sysroot}/%{lib_dir_name}/libobjc.so* +%{cross_sysroot}/%{lib_dir_name}/libsanitizer.spec +%{cross_sysroot}/%{lib_dir_name}/libssp.a +%{cross_sysroot}/%{lib_dir_name}/libssp_nonshared.a +%{cross_sysroot}/%{lib_dir_name}/libssp.so +%{cross_sysroot}/%{lib_dir_name}/libssp.so.0* +%{cross_sysroot}/%{lib_dir_name}/libstdc++fs.a +%{cross_sysroot}/%{lib_dir_name}/libstdc++.a +%{cross_sysroot}/%{lib_dir_name}/libstdc++.so +%{cross_sysroot}/%{lib_dir_name}/libstdc++.so.6 +%{cross_sysroot}/%{lib_dir_name}/libstdc++.so.6.*.* +%{cross_sysroot}/%{lib_dir_name}/libsupc++.a +%{cross_sysroot}/%{lib_dir_name}/libubsan.a +%{cross_sysroot}/%{lib_dir_name}/libubsan.so* %if %{enable_ada} %{_bindir}/%{cross_triplet}-gnat %{_bindir}/%{cross_triplet}-gnatbind @@ -313,6 +344,10 @@ chmod +x %{__rpmdeps_skip_sysroot} %changelog +* Mon Dec 28 2015 Ting-Wei Lan <lantw44@gmail.com> - 5.3.0-2 +- Sync configure options with Fedora +- Support arm-linux-gnueabihf and aarch64-linux-gnu + * Sat Dec 05 2015 Ting-Wei Lan <lantw44@gmail.com> - 5.3.0-1 - Update to new stable release 5.3.0 - Fix glibc build with dnf on Fedora 24 diff --git a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-glibc/arm-linux-gnueabi-glibc.spec b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-glibc/arm-linux-gnueabi-glibc.spec index 91686a5..4dcc2ec 100644 --- a/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-glibc/arm-linux-gnueabi-glibc.spec +++ b/arm-linux-gnueabi-toolchain/arm-linux-gnueabi-glibc/arm-linux-gnueabi-glibc.spec @@ -10,9 +10,40 @@ %define pkg_suffix %{nil} %endif +%if %{cross_arch} == "arm" + %define arm_type %(echo %{cross_triplet} | sed 's/.*-\\([a-z]*\\)$/\\1/') + %if %{arm_type} == "gnueabi" + %define loader_suffix %{nil} + %define loader_version 3 + %define gnu_hdr_suffix -soft + %define lib_dir_name lib + %else + %if %{arm_type} == "gnueabihf" + %define loader_suffix -armhf + %define loader_version 3 + %define gnu_hdr_suffix -hard + %define lib_dir_name lib + %else + %{error:Unsupported ARM processor type} + %endif + %endif +%else + %if %{cross_arch} == "arm64" + %define loader_suffix -aarch64 + %define loader_version 1 + %define gnu_hdr_suffix -lp64 + %define lib_dir_name lib64 + %else + %define loader_suffix %{nil} + %define loader_version 0 + %define gnu_hdr_suffix %{nil} + %define lib_dir_name lib + %endif +%endif + Name: %{cross_triplet}-glibc%{pkg_suffix} Version: 2.22 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The GNU C Library (%{cross_triplet}) Group: Development/Libraries @@ -53,6 +84,7 @@ RANLIB=%{_bindir}/%{cross_triplet}-ranlib \ --enable-kernel=2.6.32 \ --enable-shared \ --enable-add-ons \ + --enable-multi-arch \ --enable-obsolete-rpc \ --disable-profile \ --with-headers=%{cross_sysroot}/usr/include \ @@ -78,10 +110,11 @@ cd %{_builddir}/glibc-build make install-headers install_root=%{buildroot}%{cross_sysroot} \ install-bootstrap-headers=yes touch %{buildroot}%{cross_sysroot}/usr/include/gnu/stubs.h -mkdir -p %{buildroot}%{cross_sysroot}/usr/lib -cp csu/crt1.o csu/crti.o csu/crtn.o %{buildroot}%{cross_sysroot}/usr/lib +mkdir -p %{buildroot}%{cross_sysroot}/usr/%{lib_dir_name} +cp csu/crt1.o csu/crti.o csu/crtn.o \ + %{buildroot}%{cross_sysroot}/usr/%{lib_dir_name} %{cross_triplet}-gcc -nostdlib -nostartfiles -shared -x c /dev/null \ - -o %{buildroot}%{cross_sysroot}/usr/lib/libc.so + -o %{buildroot}%{cross_sysroot}/usr/%{lib_dir_name}/libc.so %else make install install_root=%{buildroot}%{cross_sysroot} rm -rf %{buildroot}%{cross_sysroot}/usr/share/man @@ -301,7 +334,9 @@ chmod +x %{__ar_no_strip} %{cross_sysroot}/usr/include/sys/gmon.h %{cross_sysroot}/usr/include/sys/gmon_out.h %{cross_sysroot}/usr/include/sys/inotify.h +%if %{cross_arch} == "arm" %{cross_sysroot}/usr/include/sys/io.h +%endif %{cross_sysroot}/usr/include/sys/ioctl.h %{cross_sysroot}/usr/include/sys/ipc.h %{cross_sysroot}/usr/include/sys/kd.h @@ -390,57 +425,61 @@ chmod +x %{__ar_no_strip} %{cross_sysroot}/usr/include/wctype.h %{cross_sysroot}/usr/include/wordexp.h %{cross_sysroot}/usr/include/xlocale.h -%{cross_sysroot}/usr/lib/crt1.o -%{cross_sysroot}/usr/lib/crti.o -%{cross_sysroot}/usr/lib/crtn.o -%{cross_sysroot}/usr/lib/libc.so +%{cross_sysroot}/usr/%{lib_dir_name}/crt1.o +%{cross_sysroot}/usr/%{lib_dir_name}/crti.o +%{cross_sysroot}/usr/%{lib_dir_name}/crtn.o +%{cross_sysroot}/usr/%{lib_dir_name}/libc.so %if !%{headers_only} %{cross_sysroot}/etc/rpc -%{cross_sysroot}/lib/ld-%{version}.so -%{cross_sysroot}/lib/ld-linux.so.3 -%{cross_sysroot}/lib/libBrokenLocale-%{version}.so -%{cross_sysroot}/lib/libBrokenLocale.so.1 -%{cross_sysroot}/lib/libSegFault.so -%{cross_sysroot}/lib/libanl-%{version}.so -%{cross_sysroot}/lib/libanl.so.1 -%{cross_sysroot}/lib/libc-%{version}.so -%{cross_sysroot}/lib/libc.so.6 -%{cross_sysroot}/lib/libcidn-%{version}.so -%{cross_sysroot}/lib/libcidn.so.1 -%{cross_sysroot}/lib/libcrypt-%{version}.so -%{cross_sysroot}/lib/libcrypt.so.1 -%{cross_sysroot}/lib/libdl-%{version}.so -%{cross_sysroot}/lib/libdl.so.2 -%{cross_sysroot}/lib/libm-%{version}.so -%{cross_sysroot}/lib/libm.so.6 -%{cross_sysroot}/lib/libmemusage.so -%{cross_sysroot}/lib/libnsl-%{version}.so -%{cross_sysroot}/lib/libnsl.so.1 -%{cross_sysroot}/lib/libnss_compat-%{version}.so -%{cross_sysroot}/lib/libnss_compat.so.2 -%{cross_sysroot}/lib/libnss_db-%{version}.so -%{cross_sysroot}/lib/libnss_db.so.2 -%{cross_sysroot}/lib/libnss_dns-%{version}.so -%{cross_sysroot}/lib/libnss_dns.so.2 -%{cross_sysroot}/lib/libnss_files-%{version}.so -%{cross_sysroot}/lib/libnss_files.so.2 -%{cross_sysroot}/lib/libnss_hesiod-%{version}.so -%{cross_sysroot}/lib/libnss_hesiod.so.2 -%{cross_sysroot}/lib/libnss_nis-%{version}.so -%{cross_sysroot}/lib/libnss_nis.so.2 -%{cross_sysroot}/lib/libnss_nisplus-%{version}.so -%{cross_sysroot}/lib/libnss_nisplus.so.2 -%{cross_sysroot}/lib/libpcprofile.so -%{cross_sysroot}/lib/libpthread-%{version}.so -%{cross_sysroot}/lib/libpthread.so.0 -%{cross_sysroot}/lib/libresolv-%{version}.so -%{cross_sysroot}/lib/libresolv.so.2 -%{cross_sysroot}/lib/librt-%{version}.so -%{cross_sysroot}/lib/librt.so.1 -%{cross_sysroot}/lib/libthread_db-1.0.so -%{cross_sysroot}/lib/libthread_db.so.1 -%{cross_sysroot}/lib/libutil-%{version}.so -%{cross_sysroot}/lib/libutil.so.1 +%if %{cross_arch} == "arm64" +%{cross_sysroot}/lib/ld-linux%{loader_suffix}.so.%{loader_version} +%else +%{cross_sysroot}/%{lib_dir_name}/ld-linux%{loader_suffix}.so.%{loader_version} +%endif +%{cross_sysroot}/%{lib_dir_name}/ld-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libBrokenLocale-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libBrokenLocale.so.1 +%{cross_sysroot}/%{lib_dir_name}/libSegFault.so +%{cross_sysroot}/%{lib_dir_name}/libanl-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libanl.so.1 +%{cross_sysroot}/%{lib_dir_name}/libc-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libc.so.6 +%{cross_sysroot}/%{lib_dir_name}/libcidn-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libcidn.so.1 +%{cross_sysroot}/%{lib_dir_name}/libcrypt-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libcrypt.so.1 +%{cross_sysroot}/%{lib_dir_name}/libdl-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libdl.so.2 +%{cross_sysroot}/%{lib_dir_name}/libm-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libm.so.6 +%{cross_sysroot}/%{lib_dir_name}/libmemusage.so +%{cross_sysroot}/%{lib_dir_name}/libnsl-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libnsl.so.1 +%{cross_sysroot}/%{lib_dir_name}/libnss_compat-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libnss_compat.so.2 +%{cross_sysroot}/%{lib_dir_name}/libnss_db-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libnss_db.so.2 +%{cross_sysroot}/%{lib_dir_name}/libnss_dns-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libnss_dns.so.2 +%{cross_sysroot}/%{lib_dir_name}/libnss_files-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libnss_files.so.2 +%{cross_sysroot}/%{lib_dir_name}/libnss_hesiod-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libnss_hesiod.so.2 +%{cross_sysroot}/%{lib_dir_name}/libnss_nis-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libnss_nis.so.2 +%{cross_sysroot}/%{lib_dir_name}/libnss_nisplus-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libnss_nisplus.so.2 +%{cross_sysroot}/%{lib_dir_name}/libpcprofile.so +%{cross_sysroot}/%{lib_dir_name}/libpthread-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libpthread.so.0 +%{cross_sysroot}/%{lib_dir_name}/libresolv-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libresolv.so.2 +%{cross_sysroot}/%{lib_dir_name}/librt-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/librt.so.1 +%{cross_sysroot}/%{lib_dir_name}/libthread_db-1.0.so +%{cross_sysroot}/%{lib_dir_name}/libthread_db.so.1 +%{cross_sysroot}/%{lib_dir_name}/libutil-%{version}.so +%{cross_sysroot}/%{lib_dir_name}/libutil.so.1 %{cross_sysroot}/sbin/ldconfig %{cross_sysroot}/sbin/sln %{cross_sysroot}/usr/bin/catchsegv @@ -460,54 +499,62 @@ chmod +x %{__ar_no_strip} %{cross_sysroot}/usr/bin/sprof %{cross_sysroot}/usr/bin/tzselect %{cross_sysroot}/usr/bin/xtrace -%{cross_sysroot}/usr/include/gnu/lib-names-soft.h -%{cross_sysroot}/usr/include/gnu/stubs-soft.h -%{cross_sysroot}/usr/lib/?crt1.o -%{cross_sysroot}/usr/lib/audit -%{cross_sysroot}/usr/lib/gconv -%{cross_sysroot}/usr/lib/libBrokenLocale.a -%{cross_sysroot}/usr/lib/libBrokenLocale.so -%{cross_sysroot}/usr/lib/libanl.a -%{cross_sysroot}/usr/lib/libanl.so -%{cross_sysroot}/usr/lib/libc.a -%{cross_sysroot}/usr/lib/libc_nonshared.a -%{cross_sysroot}/usr/lib/libcidn.so -%{cross_sysroot}/usr/lib/libcrypt.a -%{cross_sysroot}/usr/lib/libcrypt.so -%{cross_sysroot}/usr/lib/libdl.a -%{cross_sysroot}/usr/lib/libdl.so -%{cross_sysroot}/usr/lib/libg.a -%{cross_sysroot}/usr/lib/libieee.a -%{cross_sysroot}/usr/lib/libm.a -%{cross_sysroot}/usr/lib/libm.so -%{cross_sysroot}/usr/lib/libmcheck.a -%{cross_sysroot}/usr/lib/libnsl.a -%{cross_sysroot}/usr/lib/libnsl.so -%{cross_sysroot}/usr/lib/libnss_compat.so -%{cross_sysroot}/usr/lib/libnss_db.so -%{cross_sysroot}/usr/lib/libnss_dns.so -%{cross_sysroot}/usr/lib/libnss_files.so -%{cross_sysroot}/usr/lib/libnss_hesiod.so -%{cross_sysroot}/usr/lib/libnss_nis.so -%{cross_sysroot}/usr/lib/libnss_nisplus.so -%{cross_sysroot}/usr/lib/libpthread.a -%{cross_sysroot}/usr/lib/libpthread.so -%{cross_sysroot}/usr/lib/libpthread_nonshared.a -%{cross_sysroot}/usr/lib/libresolv.a -%{cross_sysroot}/usr/lib/libresolv.so -%{cross_sysroot}/usr/lib/librpcsvc.a -%{cross_sysroot}/usr/lib/librt.a -%{cross_sysroot}/usr/lib/librt.so -%{cross_sysroot}/usr/lib/libthread_db.so -%{cross_sysroot}/usr/lib/libutil.a -%{cross_sysroot}/usr/lib/libutil.so +%{cross_sysroot}/usr/include/gnu/lib-names%{gnu_hdr_suffix}.h +%{cross_sysroot}/usr/include/gnu/stubs%{gnu_hdr_suffix}.h +%{cross_sysroot}/usr/%{lib_dir_name}/?crt1.o +%{cross_sysroot}/usr/%{lib_dir_name}/audit +%{cross_sysroot}/usr/%{lib_dir_name}/gconv +%{cross_sysroot}/usr/%{lib_dir_name}/libBrokenLocale.a +%{cross_sysroot}/usr/%{lib_dir_name}/libBrokenLocale.so +%{cross_sysroot}/usr/%{lib_dir_name}/libanl.a +%{cross_sysroot}/usr/%{lib_dir_name}/libanl.so +%{cross_sysroot}/usr/%{lib_dir_name}/libc.a +%{cross_sysroot}/usr/%{lib_dir_name}/libc_nonshared.a +%{cross_sysroot}/usr/%{lib_dir_name}/libcidn.so +%{cross_sysroot}/usr/%{lib_dir_name}/libcrypt.a +%{cross_sysroot}/usr/%{lib_dir_name}/libcrypt.so +%{cross_sysroot}/usr/%{lib_dir_name}/libdl.a +%{cross_sysroot}/usr/%{lib_dir_name}/libdl.so +%{cross_sysroot}/usr/%{lib_dir_name}/libg.a +%{cross_sysroot}/usr/%{lib_dir_name}/libieee.a +%{cross_sysroot}/usr/%{lib_dir_name}/libm.a +%{cross_sysroot}/usr/%{lib_dir_name}/libm.so +%{cross_sysroot}/usr/%{lib_dir_name}/libmcheck.a +%{cross_sysroot}/usr/%{lib_dir_name}/libnsl.a +%{cross_sysroot}/usr/%{lib_dir_name}/libnsl.so +%{cross_sysroot}/usr/%{lib_dir_name}/libnss_compat.so +%{cross_sysroot}/usr/%{lib_dir_name}/libnss_db.so +%{cross_sysroot}/usr/%{lib_dir_name}/libnss_dns.so +%{cross_sysroot}/usr/%{lib_dir_name}/libnss_files.so +%{cross_sysroot}/usr/%{lib_dir_name}/libnss_hesiod.so +%{cross_sysroot}/usr/%{lib_dir_name}/libnss_nis.so +%{cross_sysroot}/usr/%{lib_dir_name}/libnss_nisplus.so +%{cross_sysroot}/usr/%{lib_dir_name}/libpthread.a +%{cross_sysroot}/usr/%{lib_dir_name}/libpthread.so +%{cross_sysroot}/usr/%{lib_dir_name}/libpthread_nonshared.a +%{cross_sysroot}/usr/%{lib_dir_name}/libresolv.a +%{cross_sysroot}/usr/%{lib_dir_name}/libresolv.so +%{cross_sysroot}/usr/%{lib_dir_name}/librpcsvc.a +%{cross_sysroot}/usr/%{lib_dir_name}/librt.a +%{cross_sysroot}/usr/%{lib_dir_name}/librt.so +%{cross_sysroot}/usr/%{lib_dir_name}/libthread_db.so +%{cross_sysroot}/usr/%{lib_dir_name}/libutil.a +%{cross_sysroot}/usr/%{lib_dir_name}/libutil.so %dir %{cross_sysroot}/usr/libexec/getconf +%if %{cross_arch} == "arm" %{cross_sysroot}/usr/libexec/getconf/POSIX_V6_ILP32_OFF32 %{cross_sysroot}/usr/libexec/getconf/POSIX_V6_ILP32_OFFBIG %{cross_sysroot}/usr/libexec/getconf/POSIX_V7_ILP32_OFF32 %{cross_sysroot}/usr/libexec/getconf/POSIX_V7_ILP32_OFFBIG %{cross_sysroot}/usr/libexec/getconf/XBS5_ILP32_OFF32 %{cross_sysroot}/usr/libexec/getconf/XBS5_ILP32_OFFBIG +%else +%if %{cross_arch} == "arm64" +%{cross_sysroot}/usr/libexec/getconf/POSIX_V6_LP64_OFF64 +%{cross_sysroot}/usr/libexec/getconf/POSIX_V7_LP64_OFF64 +%{cross_sysroot}/usr/libexec/getconf/XBS5_LP64_OFF64 +%endif +%endif %{cross_sysroot}/usr/sbin/iconvconfig %{cross_sysroot}/usr/sbin/nscd %{cross_sysroot}/usr/sbin/zdump @@ -520,6 +567,10 @@ chmod +x %{__ar_no_strip} %changelog +* Mon Dec 28 2015 Ting-Wei Lan <lantw44@gmail.com> - 2.22-5 +- Sync configure options with Fedora +- Support arm-linux-gnueabihf and aarch64-linux-gnu + * Sat Dec 05 2015 Ting-Wei Lan <lantw44@gmail.com> - 2.22-4 - Fix the build with dnf on Fedora 24 diff --git a/arm-linux-gnueabi-toolchain/create-arch.sh b/arm-linux-gnueabi-toolchain/create-arch.sh new file mode 100755 index 0000000..dd96f39 --- /dev/null +++ b/arm-linux-gnueabi-toolchain/create-arch.sh @@ -0,0 +1,48 @@ +#!/bin/sh + +srcdir="`dirname "$0"`" +test -z "${srcdir}" && srcdir=. + +base_arch="arm" +base_triplet="arm-linux-gnueabi" +base_dir="${base_triplet}-toolchain" + +if [ "$#" '!=' "3" ]; then + echo 'Usage: create-arch.sh ARCH TRIPLET OUTPUT_DIRECTORY' + echo 'Example: create-arch.sh arm arm-linux-gnueabihf /home/copr/armhf' + echo 'Example: create-arch.sh arm64 aarch-linux-gnu /home/copr/arm64' + exit 1 +fi + +new_arch="$1" +new_triplet="$2" +new_dir="$3" + +for spec in "${srcdir}/../${base_dir}/${base_triplet}"*/*.spec; do + base_pkg_name="`basename "${spec}" | sed 's/\.spec$//'`" + new_pkg_name="`echo "${base_pkg_name}" | sed "s/^${base_triplet}/${new_triplet}/"`" + echo "Creating RPM spec: ${new_pkg_name}" + mkdir -p "${new_dir}/${new_pkg_name}" + sed -e "1s/${base_arch}/${new_arch}/" -e "2s/${base_triplet}/${new_triplet}/" \ + "${spec}" > "${new_dir}/${new_pkg_name}/${new_pkg_name}.spec" +done + +for boot_spec in bootstrap; do + base_pkg_name="${new_triplet}-glibc" + new_pkg_name="${new_triplet}-glibc-headers" + echo "Creating bootstrap RPM spec: ${new_pkg_name}" + mkdir -p "${new_dir}/${new_pkg_name}" + { echo '%define bootstrap 1'; + cat "${new_dir}/${base_pkg_name}/${base_pkg_name}.spec"; } > \ + "${new_dir}/${new_pkg_name}/${new_pkg_name}.spec" +done + +for boot_spec in pass1 pass2; do + base_pkg_name="${new_triplet}-gcc" + new_pkg_name="${new_triplet}-gcc-${boot_spec}" + echo "Creating bootstrap RPM spec: ${new_pkg_name}" + mkdir -p "${new_dir}/${new_pkg_name}" + { echo "%define cross_stage ${boot_spec}"; + cat "${new_dir}/${base_pkg_name}/${base_pkg_name}.spec"; } > \ + "${new_dir}/${new_pkg_name}/${new_pkg_name}.spec" +done |