source: clfs-embedded/patches/gcc-4.6.0-uclibc-arm-softfloat-2.patch@ 7bc8dbb

Last change on this file since 7bc8dbb was 7f87fed, checked in by Andrew Bradford <bradfa@…>, 14 years ago

Fixed GCC ARM soft float patch

Fixed an issue where applying the patch would end up with errors.
I don't think there was enough context in the patch file for the
patch program to determine what to do in the t-linux file.
Now providing extra context (5 lines).

  • Property mode set to 100644
File size: 2.2 KB
  • gcc/config/arm/linux-elf.h

    Submitted By: Andrew Bradford <bradfa@gmail.com>
    Date: 2011-04-12
    Initial Package Version: 4.6.0
    Upstream Status: Modified From Buildroot (uClibc) Team
    Origin: http://git.buildroot.net/buildroot/tree/toolchain/gcc/4.5.2/810-arm-softfloat-libgcc.patch
    Description: This patch configures GCC to produce the required asm functions
                 to enable soft floating point operation in libgcc for ARM systems
                 using uClibc.  GCC will use the file gcc/config/arm/ieee754-df.S
                 where these routines are stored.  This doesn't happen by default,
                 thus requiring this patch.
    
                 Modified from the Buildroot team's original as it wouldn't apply
                 cleanly to GCC-4.6.0.  Content is the same but with different
                 offsets.
    
    diff -Nar '--unified=5' gcc-4.6.0.orig/gcc/config/arm/linux-elf.h gcc-4.6.0/gcc/config/arm/linux-elf.h
    old new  
    5858#define LIB_SPEC \
    5959  "%{pthread:-lpthread} \
    6060   %{shared:-lc} \
    6161   %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
    6262
    63 #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
     63#define LIBGCC_SPEC "-lgcc"
    6464
    6565#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
    6666
    6767#define LINUX_TARGET_LINK_SPEC  "%{h*} \
    6868   %{static:-Bstatic} \
  • gcc/config/arm/t-linux

    diff -Nar '--unified=5' gcc-4.6.0.orig/gcc/config/arm/t-linux gcc-4.6.0/gcc/config/arm/t-linux
    old new  
    2121# difference.
    2222TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
    2323
    2424LIB1ASMSRC = arm/lib1funcs.asm
    2525LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
    26         _arm_addsubdf3 _arm_addsubsf3
     26        _arm_addsubdf3 _arm_addsubsf3 \
     27        _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
     28        _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
     29        _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
     30        _arm_fixsfsi _arm_fixunssfsi
    2731
    2832# MULTILIB_OPTIONS = mhard-float/msoft-float
    2933# MULTILIB_DIRNAMES = hard-float soft-float
    3034
    3135# EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
Note: See TracBrowser for help on using the repository browser.