From: Jan Palus Date: Sat, 6 Nov 2021 22:44:49 +0000 (+0100) Subject: cleanups and alignment with gcc.spec; rel 2 X-Git-Tag: auto/th/crossarm-gcc-11.2.0-2 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=0c70515586758312ab66a1a77ea4226fc0e58aa0;p=packages%2Fcrossarm-gcc.git cleanups and alignment with gcc.spec; rel 2 --- diff --git a/crossarm-embedded-uclibc.config b/crossarm-embedded-uclibc.config deleted file mode 100644 index be2530c..0000000 --- a/crossarm-embedded-uclibc.config +++ /dev/null @@ -1,142 +0,0 @@ -# -# Automatically generated make config: don't edit -# -# TARGET_alpha is not set -TARGET_arm=y -# TARGET_bfin is not set -# TARGET_cris is not set -# TARGET_e1 is not set -# TARGET_frv is not set -# TARGET_h8300 is not set -# TARGET_i386 is not set -# TARGET_i960 is not set -# TARGET_m68k is not set -# TARGET_microblaze is not set -# TARGET_mips is not set -# TARGET_nios is not set -# TARGET_nios2 is not set -# TARGET_powerpc is not set -# TARGET_sh is not set -# TARGET_sparc is not set -# TARGET_v850 is not set - -# -# Target Architecture Features and Options -# -HAVE_ELF=y -ARCH_SUPPORTS_LITTLE_ENDIAN=y -TARGET_ARCH="arm" -ARCH_SUPPORTS_BIG_ENDIAN=y -CONFIG_GENERIC_ARM=y -# CONFIG_ARM610 is not set -# CONFIG_ARM710 is not set -# CONFIG_ARM720T is not set -# CONFIG_ARM920T is not set -# CONFIG_ARM922T is not set -# CONFIG_ARM926T is not set -# CONFIG_ARM_SA110 is not set -# CONFIG_ARM_SA1100 is not set -# CONFIG_ARM_XSCALE is not set -ARCH_LITTLE_ENDIAN=y -# ARCH_BIG_ENDIAN is not set -# ARCH_HAS_NO_MMU is not set -# ARCH_HAS_MMU is not set -# UCLIBC_HAS_FLOATS is not set -WARNINGS="-Wall" -KERNEL_SOURCE="/usr/src/linux" -UCLIBC_UCLINUX_BROKEN_MUNMAP=y -EXCLUDE_BRK=y -C_SYMBOL_PREFIX="" -HAVE_DOT_CONFIG=y - -# -# General Library Settings -# -# HAVE_NO_PIC is not set -# DOPIC is not set -# HAVE_NO_SHARED is not set -# ARCH_HAS_NO_LDSO is not set -UCLIBC_CTOR_DTOR=y -# HAS_NO_THREADS is not set -# UCLIBC_HAS_THREADS is not set -# UCLIBC_HAS_LFS is not set -MALLOC=y -# MALLOC_SIMPLE is not set -# MALLOC_STANDARD is not set -# MALLOC_GLIBC_COMPAT is not set -UCLIBC_DYNAMIC_ATEXIT=y -# HAS_SHADOW is not set -# UNIX98PTY_ONLY is not set -# ASSUME_DEVPTS is not set -# UCLIBC_HAS_TM_EXTENSIONS is not set -# UCLIBC_HAS_TZ_CACHING is not set -# UCLIBC_HAS_TZ_FILE is not set - -# -# Networking Support -# -# UCLIBC_HAS_IPV6 is not set -# UCLIBC_HAS_RPC is not set - -# -# String and Stdio Support -# -# UCLIBC_HAS_STRING_GENERIC_OPT is not set -UCLIBC_HAS_STRING_ARCH_OPT=y -UCLIBC_HAS_CTYPE_TABLES=y -UCLIBC_HAS_CTYPE_SIGNED=y -UCLIBC_HAS_CTYPE_UNSAFE=y -# UCLIBC_HAS_CTYPE_CHECKED is not set -# UCLIBC_HAS_CTYPE_ENFORCED is not set -# UCLIBC_HAS_WCHAR is not set -# UCLIBC_HAS_LOCALE is not set -# UCLIBC_HAS_GLIBC_CUSTOM_PRINTF is not set -# USE_OLD_VFPRINTF is not set -UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 -# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set -# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set -UCLIBC_HAS_STDIO_BUFSIZ_256=y -# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set -UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y -# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set -# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set -UCLIBC_HAS_STDIO_GETC_MACRO=y -UCLIBC_HAS_STDIO_PUTC_MACRO=y -UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y -# UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE is not set -# UCLIBC_HAS_GLIBC_CUSTOM_STREAMS is not set -# UCLIBC_HAS_PRINTF_M_SPEC is not set -# UCLIBC_HAS_ERRNO_MESSAGES is not set -# UCLIBC_HAS_SIGNUM_MESSAGES is not set -# UCLIBC_HAS_GNU_GETOPT is not set - -# -# Big and Tall -# -# UCLIBC_HAS_REGEX is not set -# UCLIBC_HAS_WORDEXP is not set -# UCLIBC_HAS_FTW is not set -# UCLIBC_HAS_GLOB is not set - -# -# Library Installation Options -# -RUNTIME_PREFIX="/usr/$(TARGET_ARCH)-linux-eabi-uclibc/" -DEVEL_PREFIX="/usr/$(TARGET_ARCH)-linux-eabi-uclibc/usr/" - -# -# uClibc security related options -# -# UCLIBC_SECURITY is not set - -# -# uClibc development/debugging options -# -# DODEBUG is not set -# DOASSERTS is not set -# UCLIBC_MALLOC_DEBUGGING is not set -# UCLIBC_MJN3_ONLY is not set diff --git a/crossarm-gcc.spec b/crossarm-gcc.spec index a9976be..8880435 100644 --- a/crossarm-gcc.spec +++ b/crossarm-gcc.spec @@ -2,10 +2,7 @@ # MUST SEE: # - GCC ARM Improvement Project - http://www.inf.u-szeged.hu/gcc-arm/ # - Developing StrongARM shellocde - http://phrack.org/show.php?p=58&a=10 -# -# Conditional build: -%bcond_without gnueabi # build without Embedded ABI support -# + Summary: Cross ARM GNU binary utility development utilities - gcc Summary(es.UTF-8): Utilitarios para desarrollo de binarios de la GNU - ARM gcc Summary(fr.UTF-8): Utilitaires de développement binaire de GNU - ARM gcc @@ -14,44 +11,40 @@ Summary(pt_BR.UTF-8): Utilitários para desenvolvimento de binários da GNU - AR Summary(tr.UTF-8): GNU geliştirme araçları - ARM gcc Name: crossarm-gcc Version: 11.2.0 -Release: 1%{?with_gnueabi:gnueabi} +Release: 2 Epoch: 1 License: GPL Group: Development/Languages Source0: https://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.xz # Source0-md5: 31c86f2ced76acac66992eeedce2fce2 -%define _llh_ver 2.6.12.0 -Source1: http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-%{_llh_ver}.tar.bz2 -# Source1-md5: eae2f562afe224ad50f65a6acfb4252c -%define _uclibc_ver 0.9.27 -Source2: http://uclibc.org/downloads/uClibc-%{_uclibc_ver}.tar.bz2 -# Source2-md5: 6250bd6524283bd8e7bc976d43a46ec0 -Source3: crossarm-embedded-uclibc.config -Source4: crossarm-lpc210x-crt0.s URL: http://gcc.gnu.org/ -BuildRequires: autoconf -BuildRequires: automake +BuildRequires: autoconf >= 2.64 +BuildRequires: automake >= 1:1.11.1 BuildRequires: bison -BuildRequires: crossarm-binutils%{?with_gnueabi:(gnueabi)} -BuildRequires: flex +BuildRequires: crossarm-binutils >= 2.30 +BuildRequires: flex >= 2.5.4 BuildRequires: gmp-devel >= 4.3.2 -BuildRequires: kernel-module-build +BuildRequires: isl-devel >= 0.15 BuildRequires: libmpc-devel >= 0.8.1 BuildRequires: mpfr-devel >= 3.1.0 -Requires: crossarm-binutils%{?with_gnueabi:(gnueabi)} +BuildRequires: tar >= 1:1.22 +BuildRequires: xz +BuildRequires: zlib-devel +BuildRequires: zstd-devel +Requires: crossarm-binutils >= 2.30 Requires: gcc-dirs Requires: gmp >= 4.3.2 +Requires: isl >= 0.15 Requires: libmpc >= 0.8.1 Requires: mpfr >= 3.1.0 -ExcludeArch: arm +ExcludeArch: %{arm} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define target arm-linux%{?with_gnueabi:-gnueabi} +%define target arm-linux-gnueabi %define arch %{_prefix}/%{target} %define gccarch %{_libdir}/gcc/%{target} %define gcclib %{gccarch}/%{version} - -%define _noautostrip .*/libgc.*\\.a +%define filterout -Werror=format-security %description This package contains a cross-gcc which allows the creation of @@ -78,26 +71,15 @@ This package adds C++ support to the GNU Compiler Collection for ARM. Ten pakiet dodaje obsługę C++ do kompilatora gcc dla ARM. %prep -%setup -q -n gcc-%{version} -a1 -a2 +%setup -q -n gcc-%{version} %build -FAKE_ROOT=$PWD/fake-root -rm -rf $FAKE_ROOT - -install -d $FAKE_ROOT%{_prefix} -cp -r uClibc-%{_uclibc_ver}/* $FAKE_ROOT%{_prefix} -cd $FAKE_ROOT%{_prefix} -install %{SOURCE3} .config -%{__make} headers -cd - - -cp -f /usr/share/automake/config.* . rm -rf obj-%{target} install -d obj-%{target} cd obj-%{target} -XCFLAGS="%{rpmcflags}" \ -XCXXFLAGS="%{rpmcxxflags}" \ +CFLAGS="%{rpmcflags}" \ +CXXFLAGS="%{rpmcxxflags}" \ TEXCONFIG=false \ ../configure \ --prefix=%{_prefix} \ @@ -117,19 +99,19 @@ TEXCONFIG=false \ --with-demangler-in-ld \ --with-system-zlib \ --enable-multilib \ - --with-sysroot=$FAKE_ROOT \ --without-x \ --target=%{target} \ --host=%{_target_platform} \ --build=%{_target_platform} %{__make} all-gcc +%{__make} all-target-libgcc %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -%{__make} -C obj-%{target} install-gcc \ +%{__make} -C obj-%{target} install-gcc install-target-libgcc \ DESTDIR=$RPM_BUILD_ROOT install obj-%{target}/gcc/specs $RPM_BUILD_ROOT%{gcclib} @@ -140,20 +122,11 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a # include/ contains install-tools/include/* and headers that were fixed up # by fixincludes, we don't want former gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/) -mkdir $gccdir/tmp -# we have to save these however -#{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h} $gccdir/tmp} -mv -f $gccdir/include-fixed/syslimits.h $gccdir/tmp -rm -rf $gccdir/include -mv -f $gccdir/tmp $gccdir/include +cp -p $gccdir/include-fixed/syslimits.h $gccdir/include cp -f $gccdir/install-tools/include/*.h $gccdir/include # but we don't want anything more from install-tools rm -rf $gccdir/install-tools -# custom startup file(s) -install %{SOURCE4} $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -%{target}-as -mcpu=arm7tdmi %{SOURCE4} -o $RPM_BUILD_ROOT%{gcclib}/lpc210x-crt0.o - %clean rm -rf $RPM_BUILD_ROOT @@ -162,7 +135,13 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/%{target}-cpp %attr(755,root,root) %{_bindir}/%{target}-gcc %attr(755,root,root) %{_bindir}/%{target}-gcc-%{version} +%attr(755,root,root) %{_bindir}/%{target}-gcc-ar +%attr(755,root,root) %{_bindir}/%{target}-gcc-nm +%attr(755,root,root) %{_bindir}/%{target}-gcc-ranlib %attr(755,root,root) %{_bindir}/%{target}-gcov +%attr(755,root,root) %{_bindir}/%{target}-gcov-dump +%attr(755,root,root) %{_bindir}/%{target}-gcov-tool +%attr(755,root,root) %{_bindir}/%{target}-lto-dump %dir %{gccarch} %dir %{gcclib} %attr(755,root,root) %{gcclib}/cc1 @@ -171,12 +150,17 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{gcclib}/lto1 %attr(755,root,root) %{gcclib}/liblto_plugin.so* %{gcclib}/*crt*.o +%{gcclib}/libgcc.a +%{gcclib}/libgcov.a %{gcclib}/specs* %dir %{gcclib}/include %{gcclib}/include/*.h %{_mandir}/man1/%{target}-cpp.1* %{_mandir}/man1/%{target}-gcc.1* %{_mandir}/man1/%{target}-gcov.1* +%{_mandir}/man1/%{target}-gcov-dump.1* +%{_mandir}/man1/%{target}-gcov-tool.1* +%{_mandir}/man1/%{target}-lto-dump.1* %{_examplesdir}/%{name}-%{version} %files c++ diff --git a/crossarm-lpc210x-crt0.s b/crossarm-lpc210x-crt0.s deleted file mode 100644 index 0453ea4..0000000 --- a/crossarm-lpc210x-crt0.s +++ /dev/null @@ -1,85 +0,0 @@ - - .set SYSTEM_MODE, 0x1F - .set UNDEFINED_MODE, 0x1B - .set ABORT_MODE, 0x17 - .set SUPERVISOR_MODE, 0x13 - .set IRQ_MODE, 0x12 - .set FIQ_MODE, 0x11 - .set USER_MODE, 0x10 - - .text - .arm - .org 0 - .align 0 - -# exception vectors - - b reset_handler - ldr pc, undefined_instruction_handler_addr - ldr pc, software_interrupt_handler_addr - ldr pc, prefetch_abort_handler_addr - ldr pc, data_abort_handler_addr - ldr pc, endless_loop /* ARM-reserved vector */ - ldr pc, irq_handler_addr - ldr pc, fiq_handler_addr - -undefined_instruction_handler_addr: .long undefined_instruction_handler -software_interrupt_handler_addr: .long software_interrupt_handler -prefetch_abort_handler_addr: .long prefetch_abort_handler -data_abort_handler_addr: .long data_abort_handler -irq_handler_addr: .long irq_handler -fiq_handler_addr: .long fiq_handler - -.global reset_handler -reset_handler: - - msr cpsr_c, #UNDEFINED_MODE - ldr sp, =__UNDEFINED_SP__ - msr cpsr_c, #ABORT_MODE - ldr sp, =__ABORT_SP__ - msr cpsr_c, #IRQ_MODE - ldr sp, =__IRQ_SP__ - msr cpsr_c, #FIQ_MODE - ldr sp, =__FIQ_SP__ - msr cpsr_c, #SUPERVISOR_MODE - ldr sp, =__SUPERVISOR_SP__ - -# setup a default stack limit (when compiled with "-mapcs-stack-check"). -# sub sl, sp, #__USER_STACK_SIZE__ - -# relocate .data(rw) section (copy from FLASH to RAM). - - ldr r1, =__text_end__ - ldr r2, =__data_start__ - ldr r3, =__data_end__ - -reset_handler_L01: - - cmp r2, r3 - ldrlo r0, [r1], #4 - strlo r0, [r2], #4 - blo reset_handler_L01 - -# clear .bss(rw) section. - - mov r0, #0 - ldr r1, =__bss_start__ - ldr r2, =__bss_end__ - -reset_handler_L02: - - cmp r1, r2 - strlo r0, [r1], #4 - blo reset_handler_L02 - -# set up arguments to main() and call. - - mov r0, #0 - mov r1, #0 - bl main - -.global endless_loop -endless_loop: - b endless_loop - - .end