From 433d52fd4367adf92c7ecda8c1784a7ba51096a5 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Thu, 20 Mar 2008 20:00:47 +0000 Subject: [PATCH] config.gcc (arm*-*-uclinux*): Remove duplicate arm/uclinux-elf.h. 2008-03-20 Paul Brook gcc/ * config.gcc (arm*-*-uclinux*): Remove duplicate arm/uclinux-elf.h. * config/arm/uclinux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Add extra linker flags. * config/arm/bpabi.h (SUBTARGET_EXTRA_LINK_SPEC): Provide default definition. (LINK_SPEC): Use SUBTARGET_EXTRA_LINK_SPEC. * config/arm/unwind-arm.h (_Unwind_decode_target2): Add uClinux. From-SVN: r133394 --- gcc/ChangeLog | 10 ++++++++++ gcc/config.gcc | 2 +- gcc/config/arm/bpabi.h | 6 +++++- gcc/config/arm/uclinux-eabi.h | 3 ++- gcc/config/arm/unwind-arm.h | 4 ++-- 5 files changed, 20 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 800769650c0..bd4ada6c179 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2008-03-20 Paul Brook + + * config.gcc (arm*-*-uclinux*): Remove duplicate arm/uclinux-elf.h. + * config/arm/uclinux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Add extra + linker flags. + * config/arm/bpabi.h (SUBTARGET_EXTRA_LINK_SPEC): Provide default + definition. + (LINK_SPEC): Use SUBTARGET_EXTRA_LINK_SPEC. + * config/arm/unwind-arm.h (_Unwind_decode_target2): Add uClinux. + 2008-03-20 Volker Reichelt * common.opt (Wmudflap): New option. diff --git a/gcc/config.gcc b/gcc/config.gcc index fbb54e2d5b3..8d0217e8f92 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -753,7 +753,7 @@ arm*-*-linux*) # ARM GNU/Linux with ELF tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp" ;; arm*-*-uclinux*) # ARM ucLinux - tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h arm/uclinux-elf.h" + tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h" tmake_file="arm/t-arm arm/t-arm-elf" case ${target} in arm*-*-uclinux-*eabi) diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h index 0f3b24faaf3..876e23404ab 100644 --- a/gcc/config/arm/bpabi.h +++ b/gcc/config/arm/bpabi.h @@ -55,11 +55,15 @@ #undef SUBTARGET_EXTRA_ASM_SPEC #define SUBTARGET_EXTRA_ASM_SPEC "%{mabi=apcs-gnu|mabi=atpcs:-meabi=gnu;:-meabi=4}" +#ifndef SUBTARGET_EXTRA_LINK_SPEC +#define SUBTARGET_EXTRA_LINK_SPEC "" +#endif + /* The generic link spec in elf.h does not support shared libraries. */ #undef LINK_SPEC #define LINK_SPEC "%{mbig-endian:-EB} %{mlittle-endian:-EL} " \ "%{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic} " \ - "-X" + "-X" SUBTARGET_EXTRA_LINK_SPEC #if defined (__thumb__) #define RENAME_LIBRARY_SET ".thumb_set" diff --git a/gcc/config/arm/uclinux-eabi.h b/gcc/config/arm/uclinux-eabi.h index aa6bc762a5b..5ba97bf591b 100644 --- a/gcc/config/arm/uclinux-eabi.h +++ b/gcc/config/arm/uclinux-eabi.h @@ -42,7 +42,8 @@ while (false) #undef SUBTARGET_EXTRA_LINK_SPEC -#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi" +#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi -elf2flt" \ + " --pic-veneer --target2=abs" /* We default to the "aapcs-linux" ABI so that enums are int-sized by default. */ diff --git a/gcc/config/arm/unwind-arm.h b/gcc/config/arm/unwind-arm.h index 896e410c737..f6d3dc15fdd 100644 --- a/gcc/config/arm/unwind-arm.h +++ b/gcc/config/arm/unwind-arm.h @@ -232,11 +232,11 @@ extern "C" { if (!tmp) return 0; -#if defined(linux) || defined(__NetBSD__) +#if (defined(linux) && !defined(__uClinux__)) || defined(__NetBSD__) /* Pc-relative indirect. */ tmp += ptr; tmp = *(_Unwind_Word *) tmp; -#elif defined(__symbian__) +#elif defined(__symbian__) || defined(__uClinux__) /* Absolute pointer. Nothing more to do. */ #else /* Pc-relative pointer. */