libgcc
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
These libgcc files were obtained from svn://gcc.gnu.org/svn/gcc r218764. The GPL "GCC Runtime Library Exception" allows us to link these files into our BSD library. The file mappings are: + libgcc/config/arm/lib1funcs.S => third_party/libgcc/arm/lib1funcs.S + libgcc/config/arm/bpabi.S => third_party/libgcc/arm/bpabi.S + libgcc/config/arm/ieee754-sf.S => third_party/libgcc/arm/ieee754-sf.S + libgcc/config/arm/ieee754-df.S => third_party/libgcc/arm/ieee754-df.S + libgcc/libgcc2.c => third_party/libgcc/udivmoddi4.c Each file was untabified and had trailing blank lines removed. Beyond whitespace changes, two files were changed as described below. Here are the changes to lib1funcs.S: 30a31,53 > /*--------------------------------------------------*/ > /* i#1566: for DynamoRIO we build separately for each main routine, with > * TODEFINE set to the target we want to build. > */ > #define __ARM_ARCH__ 7 > #define __ARM_ARCH_7__ > #define __prefer_thumb__ > #define @TODEFINE@ > #ifdef L_divsi3 > # define L_dvmd_tls /* for __aeabi_idiv0 */ > # define L_aeabi_uldivmod /* for __aeabi_uldivmod */ > # define L_aeabi_ldivmod /* for __aeabi_ldivmod */ > #endif > #ifndef __thumb__ > # define __thumb__ > #endif > #ifdef __ARM_ARCH_5T__ > # undef __ARM_ARCH_5T__ > #endif > #ifdef __ARM_ARCH_5TE__ > # undef __ARM_ARCH_5TE__ > #endif > /*--------------------------------------------------*/ > For udivmoddi4.c, it contains the __udivmoddi4 and __moddi3 functions extracted from libgcc2.c with the following lines added: > /* This is extracted from gcc's libgcc/libgcc2.c with these typedefs added: */ > typedef short Wtype; > typedef int DWtype; > typedef unsigned int UWtype; > typedef unsigned long long UDWtype; > #if __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ > struct DWstruct {Wtype high, low;}; > #else > struct DWstruct {Wtype low, high;}; > #endif > typedef union { > struct DWstruct s; > DWtype ll; > } DWunion;