X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=packaging%2Fbinutils-armv7l.spec;h=03bd43601835d879fdd6e65801d64449ea52027f;hb=c11f7102e1e19a829b98ecd18bf206a98eee84e3;hp=4f9420216a5d823ef043828c408e3a66d8d86b97;hpb=d21820f9272a5345f68444a5567558c71fff4dfe;p=external%2Fbinutils.git diff --git a/packaging/binutils-armv7l.spec b/packaging/binutils-armv7l.spec index 4f94202..03bd436 100644 --- a/packaging/binutils-armv7l.spec +++ b/packaging/binutils-armv7l.spec @@ -5,6 +5,10 @@ %define ARCH armv7l %define ABI eabi %endif +%ifarch armv7hl +%define ARCH armv7hl +%define ABI eabihf +%endif %ifarch %ix86 %define ARCH i586 %endif @@ -18,18 +22,44 @@ %define host_arch %{ARCH}-tizen-linux-gnu%{?ABI} %define target_cpu %{?cross}%{!?cross:%{ARCH}} -%define target_abi %{?cross:%{?armv7l:eabi}}%{!?cross:%{?ABI}} +%define target_abi %{?cross:%{?armv7l:eabi}%{?armv7hl:eabihf}}%{!?cross:%{?ABI}} %define target_arch %{target_cpu}-tizen-linux-gnu%{?target_abi} +%if 0%{?run_tests} +%define binutils_run_tests 1 +%endif + +# Enable this when testing on device to: +# 1. Enable macro to turn on testsuite building ('binutils_run_tests 1') +# 2. Keep 'obj/' folder in build stage as we do not want to rebuild all binutils +# again on device after invoking rpmbuild --short-circuit -bc ... +# 3. Skip configure and make commands and go directly to 'make check' +%if 0%{?run_tests_on_device} +%define binutils_run_tests 1 +%define binutils_keep_build_dir 1 +%define binutils_skip_configure 1 +%define binutils_skip_make 1 +%endif + +# Exit right after 'make ..' step to keep all object files produced by binutils build +%if 0%{?exit_on_make_finish} +%define binutils_exit_on_make_finish 1 +%endif + Name: binutils%{?cross:-%{cross}} BuildRequires: makeinfo BuildRequires: bison BuildRequires: flex +BuildRequires: expat-devel BuildRequires: ncurses-devel BuildRequires: zlib-devel BuildRequires: gcc-c++ -Version: 2.27 +%if 0%{?binutils_run_tests} +BuildRequires: dejagnu +BuildRequires: glibc-devel-static +%endif +Version: 2.33.1 Release: 0 Url: http://www.gnu.org/software/binutils/ Summary: GNU Binutils @@ -67,6 +97,38 @@ This package includes header files and static libraries necessary to build programs which use the GNU BFD library, which is part of binutils. +%{!?cross: +%package -n gdb +Summary: A GNU source-level debugger for C, C++, Java and other languages +License: GPL-3.0+ +Group: Development/Building +Requires: python + +%description -n gdb +GDB, the GNU debugger, allows you to debug programs written in C, C++, +Java, and other languages, by executing them in a controlled fashion +and printing their data. +} +%package -n gdb-server +Summary: A standalone server for GDB (the GNU source-level debugger) + +%description -n gdb-server +GDB, the GNU debugger, allows you to debug programs written in C, C++, +Java, and other languages, by executing them in a controlled fashion +and printing their data. + +This package provides a program that allows you to run GDB on a different machine than the one +which is running the program being debugged. + +%{?binutils_run_tests: +%package testresults +Summary: Testsuite results +License: SUSE-Public-Domain +Group: Development/Languages +%description testresults +Results from running the gcc and target library testsuites. +} + %prep %setup -q -n binutils-%{version} @@ -78,31 +140,58 @@ RPM_OPT_FLAGS="$RPM_OPT_FLAGS -Wno-error %{?cross:-DIGNORE_BROKEN_PLUGINS}" export CFLAGS="${RPM_OPT_FLAGS}" export CXXFLAGS="${RPM_OPT_FLAGS}" +%{!?binutils_keep_build_dir: +rm -rf build-dir +} mkdir build-dir cd build-dir +%{!?binutils_skip_configure: ../configure \ --prefix=%{_prefix} --libdir=%{_libdir} \ --infodir=%{_infodir} --mandir=%{_mandir} \ - --with-bugurl=http://bugs.tizen.org/ \ + --with-bugurl=https://bugs.tizen.org/ \ --with-sysroot=/ \ --disable-nls \ --with-separate-debug-dir=%{_prefix}/lib/debug \ --with-pic \ --build=%{host_arch} --target=%{target_arch} \ --host=%{host_arch} \ + %{?annobin_verification: --enable-annobin-verification=warn } \ + %{?annobin_verification_strict: --enable-annobin-verification=strict } \ %{?cross: \ --enable-targets=%{target_arch} \ --enable-64-bit-bfd \ } \ %{!?cross: \ - --enable-targets=aarch64-tizen-linux,armv7l-tizen-linux,armv8l-tizen-linux,i686-tizen-linux,x86_64-tizen-linux \ + --enable-targets=aarch64-tizen-linux,armv7l-tizen-linux,armv7hl-tizen-linux,armv8l-tizen-linux,i686-tizen-linux,x86_64-tizen-linux \ } \ --enable-plugins \ --enable-gold \ - --enable-shared - + --enable-shared \ + --enable-new-dtags \ + --with-gdb-datadir=%{_datadir}/gdb \ + --enable-gdb-build-warnings=,-Wno-unused \ + --with-separate-debug-dir=/usr/lib/debug \ + --disable-sim \ + --with-expat +} +%{!?binutils_skip_make: make %{?_smp_mflags} +} + +%{?binutils_exit_on_make_finish: + exit 1 +} + +%{?binutils_run_tests: + echo "Run testsuite" + # asan needs a whole shadow address space + ulimit -v unlimited || true + make -k check %{?_smp_mflags} || true + mkdir ../testresults + ../contrib/test_summary | tee ../testresults/test_summary.txt +} %install cd build-dir @@ -123,11 +212,14 @@ done install -m 644 libiberty/pic/libiberty.a %{buildroot}%{_prefix}/%{_lib} install -m 644 ../include/libiberty.h %{buildroot}%{_prefix}/include +%{?binutils_run_tests: + find . \( -name "*.sum" -o -name "*.log" -a \! -name "config.log" \) -exec tar -rf testresults.tar {} \; + mkdir -p ../testresults && tar -xf testresults.tar -C ../testresults + find ../testresults/ -type f -exec chmod 644 {} \; +} + # Remove unwanted files to shut up rpm %{remove_docs} -rm -rf %{buildroot}%{_bindir}/gcore -rm -rf %{buildroot}%{_bindir}/gdb* -rm -rf %{buildroot}%{_datadir}/gdb rm -rf %{buildroot}%{_libdir}/lib{bfd,opcodes,inproctrace}.{so,la} %{?cross: rm -rf %{buildroot}%{_prefix}/%{target_arch}/lib/ldscripts @@ -143,6 +235,7 @@ rm -rf %{buildroot}%{_datadir} %{_bindir}/* %{_prefix}/%{target_arch}/bin/* %{!?cross: +%exclude %{_bindir}/gdb* %exclude %{_bindir}/ld.gold %exclude %{_prefix}/%{target_arch}/bin/ld.gold %{_libdir}/*.so @@ -160,6 +253,22 @@ rm -rf %{buildroot}%{_datadir} %defattr(-,root,root) %{_bindir}/ld.gold %{_prefix}/%{target_arch}/bin/ld.gold + +%files -n gdb +%{_datadir}/gdb +%{_bindir}/gcore +%{_bindir}/gdb +%{_bindir}/gdb-add-index + +%files -n gdb-server +%{_bindir}/gdbserver +} + +%{?binutils_run_tests: +%files testresults +%defattr(-,root,root) +%doc testresults/test_summary.txt +%doc testresults/* } %changelog