diff --git a/conf/aarch32_support_list.yaml b/conf/aarch32_support_list.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0e4ac17565fdb34816c2f99ff0266bd5561c0be4 --- /dev/null +++ b/conf/aarch32_support_list.yaml @@ -0,0 +1,9 @@ +packages: +- name: gcc_secure + src: + branch:openEuler-20.03-LTS + revision: 1.0-0.6 +- name: glibc + src: + branch:openEuler-20.03-LTS + revision: 2.28-36 diff --git a/patches/gcc_secure/spec/0001-support-for-arm32-compilation-on-mock.patch b/patches/gcc_secure/spec/0001-support-for-arm32-compilation-on-mock.patch new file mode 100644 index 0000000000000000000000000000000000000000..2ebaa552b210fc821f647d5c9f7b3c0382e36d07 --- /dev/null +++ b/patches/gcc_secure/spec/0001-support-for-arm32-compilation-on-mock.patch @@ -0,0 +1,81 @@ +From 9438fcc55c18c3388b7fc7911bb580aac0174112 Mon Sep 17 00:00:00 2001 +From: root +Date: Tue, 17 Nov 2020 21:40:00 -0500 +Subject: [PATCH] support for arm32 compilation on mock + +--- + gcc_secure.spec | 23 ++++++++++++++++------- + 1 file changed, 16 insertions(+), 7 deletions(-) + +diff --git a/gcc_secure.spec b/gcc_secure.spec +index a623aa4..4dc69da 100644 +--- a/gcc_secure.spec ++++ b/gcc_secure.spec +@@ -1,3 +1,9 @@ ++%if 0%{?mock_build} ++%global install_dir /var/tmp ++%else ++%global install_dir /tmp ++%endif ++ + Name: gcc_secure + Summary: Build with gcov + License: GPL +@@ -29,11 +35,11 @@ mkdir -p %{buildroot}/opt/needgcov + %pre + + %post +-echo -e '*cc1_options:\n+ %{!D__KERNEL__:%{!nostdlib:%{!nodefaultlibs:%{!fno-stack-protector:%{!fstack-protector-all:-fstack-protector-strong}}}}}' >/tmp/gcc-specs-fs-cc1 ++echo -e '*cc1_options:\n+ %{!D__KERNEL__:%{!nostdlib:%{!nodefaultlibs:%{!fno-stack-protector:%{!fstack-protector-all:-fstack-protector-strong}}}}}' >%{install_dir}/gcc-specs-fs-cc1 + +-echo -e '*cc1_options:\n+ %{!r:%{!D__KERNEL__:%{!pie:%{!fpic:%{!fPIC:%{!fpie:%{!fPIE:%{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE:%{!shared:%{!static:%{!nostdlib:%{!nostartfiles:-fPIE}}}}}}}}}}}}}}}' >/tmp/gcc-specs-pie-cc1 ++echo -e '*cc1_options:\n+ %{!r:%{!D__KERNEL__:%{!pie:%{!fpic:%{!fPIC:%{!fpie:%{!fPIE:%{!fno-pic:%{!fno-PIC:%{!fno-pie:%{!fno-PIE:%{!shared:%{!static:%{!nostdlib:%{!nostartfiles:-fPIE}}}}}}}}}}}}}}}' >%{install_dir}/gcc-specs-pie-cc1 + +-echo -e '*self_spec:\n+ %{!D__KERNEL__:%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!static:%{!r:%{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}}}' >/tmp/gcc-specs-pie-ld ++echo -e '*self_spec:\n+ %{!D__KERNEL__:%{!pie:%{!A:%{!fno-pie:%{!fno-PIE:%{!fno-pic:%{!fno-PIC:%{!shared:%{!static:%{!r:%{!nostdlib:%{!nostartfiles:-pie}}}}}}}}}}}}' >%{install_dir}/gcc-specs-pie-ld + + old_gcc=/usr/bin/gcc + mv $old_gcc $old_gcc"_old" +@@ -68,9 +74,9 @@ if ! cat /.build.command | egrep "\$gcc_secure_exclude" &>/dev/null; then + + if [[ x\$rpm_name = "xglibc" ]] || [[ x\$rpm_name = "xcompat-glibc" ]];then + #glibc supply fs define, can not add fs for glibc self +- /usr/bin/gcc_old \$sec_opt "\$@" \$fs_opt --specs=/tmp/gcc-specs-pie-cc1 --specs=/tmp/gcc-specs-pie-ld ++ /usr/bin/gcc_old \$sec_opt "\$@" \$fs_opt --specs=%{install_dir}/gcc-specs-pie-cc1 --specs=%{install_dir}/gcc-specs-pie-ld + else +- /usr/bin/gcc_old \$sec_opt "\$@" \$fs_opt --specs=/tmp/gcc-specs-pie-cc1 --specs=/tmp/gcc-specs-pie-ld --specs=/tmp/gcc-specs-fs-cc1 ++ /usr/bin/gcc_old \$sec_opt "\$@" \$fs_opt --specs=%{install_dir}/gcc-specs-pie-cc1 --specs=%{install_dir}/gcc-specs-pie-ld --specs=%{install_dir}/gcc-specs-fs-cc1 + fi + + else +@@ -110,7 +116,7 @@ if ! cat /.build.command | egrep "\$gcc_secure_exclude" &>/dev/null; then + #libtool use g++ -v for test compile env,if add Wl opt, it will make g++ -v fail + $old_gplus"_old" "\$@" + else +- /usr/bin/g++_old \$sec_opt "\$@" \$fs_opt --specs=/tmp/gcc-specs-pie-cc1 --specs=/tmp/gcc-specs-pie-ld --specs=/tmp/gcc-specs-fs-cc1 ++ /usr/bin/g++_old \$sec_opt "\$@" \$fs_opt --specs=%{install_dir}/gcc-specs-pie-cc1 --specs=%{install_dir}/gcc-specs-pie-ld --specs=%{install_dir}/gcc-specs-fs-cc1 + fi + else + $old_gplus"_old" "\$@" +@@ -146,7 +152,7 @@ if ! cat /.build.command | egrep "\$gcc_secure_exclude" &>/dev/null; then + fs_opt=\`cat \$configfile| grep fs_opt| awk -F: '{print \$NF}'\` + fi + +- /usr/bin/c++_old \$sec_opt "\$@" \$fs_opt --specs=/tmp/gcc-specs-pie-cc1 --specs=/tmp/gcc-specs-pie-ld --specs=/tmp/gcc-specs-fs-cc1 ++ /usr/bin/c++_old \$sec_opt "\$@" \$fs_opt --specs=%{install_dir}/gcc-specs-pie-cc1 --specs=%{install_dir}/gcc-specs-pie-ld --specs=%{install_dir}/gcc-specs-fs-cc1 + + else + $old_cpp"_old" "\$@" +@@ -172,6 +178,9 @@ rm -rf %{_tmppath}/%{name}-%{version} + rm -rf $RPM_BUILD_DIR/%{name}-%{version} + + %changelog ++* Thu Nov 17 2020 js_liangdong - 1.0-0.7 ++- support for arm32 compilation on mock ++ + * Tue Feb 18 2020 yanzhihua - 1.0-0.6 + - Type:enhancement + - ID:NA +-- +2.20.1 + diff --git a/patches/glibc/spec/0001-add-arm32-support.patch b/patches/glibc/spec/0001-add-arm32-support.patch new file mode 100644 index 0000000000000000000000000000000000000000..620f4a87e1dd321ba94a4aaf871f8925f9a37d6c --- /dev/null +++ b/patches/glibc/spec/0001-add-arm32-support.patch @@ -0,0 +1,64 @@ +From 885b4c81557986011fa025a22d9aef7b3e742835 Mon Sep 17 00:00:00 2001 +From: root +Date: Tue, 17 Nov 2020 21:11:23 -0500 +Subject: [PATCH] add arm32 support + +--- + glibc.spec | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/glibc.spec b/glibc.spec +index 1dc2725..c9775c3 100644 +--- a/glibc.spec ++++ b/glibc.spec +@@ -59,7 +59,7 @@ + ############################################################################## + Name: glibc + Version: 2.28 +-Release: 36 ++Release: 37 + Summary: The GNU libc libraries + License: %{all_license} + URL: http://www.gnu.org/software/glibc/ +@@ -528,7 +528,7 @@ pushd build-%{target} + -I. -DDATADIR=\"%{_datadir}\" -DPREFIX=\"%{_prefix}\" \ + -L../build-%{target} \ + -B../build-%{target}/csu/ -lc -lc_nonshared \ +- -Wl,-dynamic-linker=/lib64/ld-%{version}.so \ ++ -Wl,-dynamic-linker=/%{_lib}/ld-%{version}.so \ + -Wl,-rpath-link=.:./math:./elf:./dlfcn:./nss:./rt:./resolv:./mathvec:./support:./nptl libc.so.6 libc_nonshared.a \ + -Wl,--as-needed $olddir/build-%{target}/elf/ld.so + install -m 700 build-locale-archive $RPM_BUILD_ROOT%{_prefix}/sbin/build-locale-archive +@@ -735,8 +735,8 @@ fi + %verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf + %verify(not md5 size mtime) %config(noreplace) /etc/ld.so.conf + %verify(not md5 size mtime) %config(noreplace) /etc/rpc +-%verify(not md5 size mtime) %config(noreplace) /usr/lib64/gconv/gconv-modules +-%verify(not md5 size mtime) /usr/lib64/gconv/gconv-modules.cache ++%verify(not md5 size mtime) %config(noreplace) %{_libdir}/gconv/gconv-modules ++%verify(not md5 size mtime) %{_libdir}/gconv/gconv-modules.cache + %dir /etc/ld.so.conf.d + %dir %{_prefix}/libexec/getconf + %{_prefix}/libexec/getconf/* +@@ -902,7 +902,7 @@ fi + %{_prefix}/bin/pcprofiledump + %{_prefix}/bin/xtrace + %{_prefix}/lib/debug/usr/bin/*.debug +-%{_prefix}/lib/debug/usr/lib64/*.a ++%{_prefix}/lib/debug%{_libdir}/*.a + + + %files help +@@ -918,6 +918,9 @@ fi + + + %changelog ++* Thu Nov 17 2020 js_liangdong - 2.28-37 ++- add arm32 compilation support ++ + * Thu Mar 19 2020 yuxiangyang - 2.28-36 + - fix build src.rpm error + +-- +2.20.1 +