Author: void Date: Fri Nov 9 01:19:47 2007 New Revision: 43930 URL: http://llvm.org/viewvc/llvm-project?rev=43930&view=rev Log: Last (penultimate?) Apple GCC 4.2 updates.
Added: llvm-gcc-4.2/trunk/gcc/config/arm/darwin-libgcc.10.4.ver llvm-gcc-4.2/trunk/gcc/config/arm/darwin-libgcc.10.5.ver llvm-gcc-4.2/trunk/gcc/config/arm/darwin.h llvm-gcc-4.2/trunk/gcc/config/arm/darwin.opt llvm-gcc-4.2/trunk/gcc/config/arm/t-darwin Added: llvm-gcc-4.2/trunk/gcc/config/arm/darwin-libgcc.10.4.ver URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/darwin-libgcc.10.4.ver?rev=43930&view=auto ============================================================================== --- llvm-gcc-4.2/trunk/gcc/config/arm/darwin-libgcc.10.4.ver (added) +++ llvm-gcc-4.2/trunk/gcc/config/arm/darwin-libgcc.10.4.ver Fri Nov 9 01:19:47 2007 @@ -0,0 +1,123 @@ +# APPLE LOCAL file ARM libgcc_s exports +# For now, this file should include all symbols available in libgcc_s*.dylib, +# since a new libgcc_s should be available on the platform with each compiler +# release. Once a platform is released, these files can be stabilized to +# match the release. + +# The functions that are commented out below (addsf3, subsf3, floatdisf, +# floatsisf) are actually in the 10.4-based libgcc, but are in the same +# object file as functions which are new in 10.5 (floatundisf, floatunsisf). +# So, pulling in floatundisf from the dylib causes linktime duplicate +# symbol errors because addsf3 and others get pulled in from both the +# libgcc dylib and archive. + +__Unwind_Backtrace +__Unwind_DeleteException +__Unwind_FindEnclosingFunction +__Unwind_Find_FDE +__Unwind_GetCFA +__Unwind_GetDataRelBase +__Unwind_GetGR +__Unwind_GetIP +__Unwind_GetLanguageSpecificData +__Unwind_GetRegionStart +__Unwind_GetTextRelBase +__Unwind_SetGR +__Unwind_SetIP +__Unwind_SjLj_ForcedUnwind +__Unwind_SjLj_RaiseException +__Unwind_SjLj_Register +__Unwind_SjLj_Resume +__Unwind_SjLj_Resume_or_Rethrow +__Unwind_SjLj_Unregister +___absvdi2 +___absvsi2 +___adddf3 +# ___addsf3 +___addvdi3 +___addvsi3 +___ashldi3 +___ashrdi3 +___clear_cache +___clzdi2 +___clzsi2 +___cmpdi2 +___ctzdi2 +___ctzsi2 +___deregister_frame +___deregister_frame_info +___deregister_frame_info_bases +___divdc3 +___divdf3 +___divdi3 +___divsc3 +___divsf3 +___divsi3 +___enable_execute_stack +___eqdf2 +___eqsf2 +___extendsfdf2 +___ffsdi2 +___fixdfdi +___fixdfsi +___fixsfdi +___fixsfsi +___fixunsdfdi +___fixunsdfsi +___fixunssfdi +___fixunssfsi +___floatdidf +# ___floatdisf +___floatsidf +# ___floatsisf +___gcc_personality_sj0 +___gedf2 +___gesf2 +___gtdf2 +___gtsf2 +___ledf2 +___lesf2 +___lshrdi3 +___ltdf2 +___ltsf2 +___moddi3 +___modsi3 +___muldc3 +___muldf3 +___muldi3 +___mulsc3 +___mulsf3 +___mulvdi3 +___mulvsi3 +___nedf2 +___negdf2 +___negdi2 +___negsf2 +___negvdi2 +___negvsi2 +___nesf2 +___paritydi2 +___paritysi2 +___popcountdi2 +___popcountsi2 +___powidf2 +___powisf2 +___register_frame +___register_frame_info +___register_frame_info_bases +___register_frame_info_table +___register_frame_info_table_bases +___register_frame_table +___subdf3 +# ___subsf3 +___subvdi3 +___subvsi3 +___truncdfsf2 +___ucmpdi2 +___udivdi3 +___udivmoddi4 +___udivsi3 +___umoddi3 +___umodsi3 +___unorddf2 +___unordsf2 Added: llvm-gcc-4.2/trunk/gcc/config/arm/darwin-libgcc.10.5.ver URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/darwin-libgcc.10.5.ver?rev=43930&view=auto ============================================================================== --- llvm-gcc-4.2/trunk/gcc/config/arm/darwin-libgcc.10.5.ver (added) +++ llvm-gcc-4.2/trunk/gcc/config/arm/darwin-libgcc.10.5.ver Fri Nov 9 01:19:47 2007 @@ -0,0 +1,122 @@ +# APPLE LOCAL file ARM libgcc_s exports +# For now, this file should include all symbols available in libgcc_s*.dylib, +# since a new libgcc_s should be available on the platform with each compiler +# release. Once a platform is released, these files can be stabilized to +# match the release. +__Unwind_Backtrace +__Unwind_DeleteException +__Unwind_FindEnclosingFunction +__Unwind_Find_FDE +__Unwind_GetCFA +__Unwind_GetDataRelBase +__Unwind_GetGR +__Unwind_GetIP +__Unwind_GetIPInfo +__Unwind_GetLanguageSpecificData +__Unwind_GetRegionStart +__Unwind_GetTextRelBase +__Unwind_SetGR +__Unwind_SetIP +__Unwind_SjLj_ForcedUnwind +__Unwind_SjLj_RaiseException +__Unwind_SjLj_Register +__Unwind_SjLj_Resume +__Unwind_SjLj_Resume_or_Rethrow +__Unwind_SjLj_Unregister +___absvdi2 +___absvsi2 +___adddf3 +___addsf3 +___addvdi3 +___addvsi3 +___ashldi3 +___ashrdi3 +___bswapdi2 +___bswapsi2 +___clear_cache +___clzdi2 +___clzsi2 +___cmpdi2 +___ctzdi2 +___ctzsi2 +___deregister_frame +___deregister_frame_info +___deregister_frame_info_bases +___divdc3 +___divdf3 +___divdi3 +___divsc3 +___divsf3 +___divsi3 +___enable_execute_stack +___eqdf2 +___eqsf2 +___extendsfdf2 +___ffsdi2 +___fixdfdi +___fixdfsi +___fixsfdi +___fixsfsi +___fixunsdfdi +___fixunsdfsi +___fixunssfdi +___fixunssfsi +___floatdidf +___floatdisf +___floatsidf +___floatsisf +___floatundidf +___floatundisf +___floatunsidf +___floatunsisf +___gcc_personality_sj0 +___gedf2 +___gesf2 +___gtdf2 +___gtsf2 +___ledf2 +___lesf2 +___lshrdi3 +___ltdf2 +___ltsf2 +___moddi3 +___modsi3 +___muldc3 +___muldf3 +___muldi3 +___mulsc3 +___mulsf3 +___mulvdi3 +___mulvsi3 +___nedf2 +___negdf2 +___negdi2 +___negsf2 +___negvdi2 +___negvsi2 +___nesf2 +___paritydi2 +___paritysi2 +___popcountdi2 +___popcountsi2 +___powidf2 +___powisf2 +___register_frame +___register_frame_info +___register_frame_info_bases +___register_frame_info_table +___register_frame_info_table_bases +___register_frame_table +___subdf3 +___subsf3 +___subvdi3 +___subvsi3 +___truncdfsf2 +___ucmpdi2 +___udivdi3 +___udivmoddi4 +___udivsi3 +___umoddi3 +___umodsi3 +___unorddf2 +___unordsf2 Added: llvm-gcc-4.2/trunk/gcc/config/arm/darwin.h URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/darwin.h?rev=43930&view=auto ============================================================================== --- llvm-gcc-4.2/trunk/gcc/config/arm/darwin.h (added) +++ llvm-gcc-4.2/trunk/gcc/config/arm/darwin.h Fri Nov 9 01:19:47 2007 @@ -0,0 +1,344 @@ +/* APPLE LOCAL file ARM darwin target */ + +/* Size of the Obj-C jump buffer. */ +#define OBJC_JBLEN 28 + +#define SUBTARGET_CPU_DEFAULT arm920 + +#undef SUBTARGET_EXTRA_ASM_SPEC +#define SUBTARGET_EXTRA_ASM_SPEC "" + +#define DEFAULT_TARGET_ARCH "arm" + +#undef TARGET_VERSION +#define TARGET_VERSION fprintf (stderr, " (arm Darwin)"); + +#define TARGET_OS_CPP_BUILTINS() \ + do \ + { \ + builtin_define ("__arm__") ; \ + builtin_define ("__arm"); \ + builtin_define ("__LITTLE_ENDIAN__"); \ + darwin_cpp_builtins (pfile); \ + } \ + while (0) + +/* We want -fPIC by default, unless we're using -static to compile for + the kernel or some such. */ + +#undef CC1_SPEC +#define CC1_SPEC "%<faltivec %<mcpu=G4 %<mcpu=G5 \ +%{!mmacosx-version-min=*:-mmacosx-version-min=%(darwin_minversion)} \ +%{static: %{Zdynamic: %e conflicting code gen style switches are used}} \ +%{static: %{mdynamic-no-pic: %e conflicting code gen style switches are used}} \ +%{!static:%{!mdynamic-no-pic:-fPIC}} \ +%{!fbuiltin-strcat:-fno-builtin-strcat} \ +%{!fbuiltin-strcpy:-fno-builtin-strcpy} \ +%<fbuiltin-strcat \ +%<fbuiltin-strcpy" + +#undef LIB_SPEC +#define LIB_SPEC "%{!static:-lSystem}" + +/* Use the following macro for any Darwin/x86-specific command-line option + translation. */ +#define SUBTARGET_OPTION_TRANSLATE_TABLE \ + { "", "" } + +#define REGISTER_PREFIX "" + +/* The assembler's names for the registers. */ +#ifndef REGISTER_NAMES +#define REGISTER_NAMES \ +{ \ + "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \ + "r8", "r9", "r10","r11","ip", "sp", "lr", "pc", \ + "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ + "cc", "sfp", "afp", \ + "mv0", "mv1", "mv2", "mv3", \ + "mv4", "mv5", "mv6", "mv7", \ + "mv8", "mv9", "mv10", "mv11", \ + "mv12", "mv13", "mv14", "mv15", \ + "wcgr0", "wcgr1", "wcgr2", "wcgr3", \ + "wr0", "wr1", "wr2", "wr3", \ + "wr4", "wr5", "wr6", "wr7", \ + "wr8", "wr9", "wr10", "wr11", \ + "wr12", "wr13", "wr14", "wr15", \ + "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", \ + "s8", "s9", "s10", "s11", "s12", "s13", "s14", "s15", \ + "s16", "s17", "s18", "s19", "s20", "s21", "s22", "s23", \ + "s24", "s25", "s26", "s27", "s28", "s29", "s30", "s31", \ + "vfpcc" \ +} +#endif + +#ifndef ADDITIONAL_REGISTER_NAMES +#define ADDITIONAL_REGISTER_NAMES \ +{ \ + {"a1", 0}, \ + {"a2", 1}, \ + {"a3", 2}, \ + {"a4", 3}, \ + {"v1", 4}, \ + {"v2", 5}, \ + {"v3", 6}, \ + {"v4", 7}, \ + {"v5", 8}, \ + {"v6", 9}, \ + {"rfp", 9}, /* Gcc used to call it this */ \ + {"sb", 9}, \ + {"v7", 10}, \ + {"sl", 10}, /* sl */ \ + {"r12", 12}, /* ip */ \ + {"r13", 13}, /* sp */ \ + {"r14", 14}, /* lr */ \ + {"r15", 15}, /* pc */ \ + {"mvf0", 27}, \ + {"mvf1", 28}, \ + {"mvf2", 29}, \ + {"mvf3", 30}, \ + {"mvf4", 31}, \ + {"mvf5", 32}, \ + {"mvf6", 33}, \ + {"mvf7", 34}, \ + {"mvf8", 35}, \ + {"mvf9", 36}, \ + {"mvf10", 37}, \ + {"mvf11", 38}, \ + {"mvf12", 39}, \ + {"mvf13", 40}, \ + {"mvf14", 41}, \ + {"mvf15", 42}, \ + {"mvd0", 27}, \ + {"mvd1", 28}, \ + {"mvd2", 29}, \ + {"mvd3", 30}, \ + {"mvd4", 31}, \ + {"mvd5", 32}, \ + {"mvd6", 33}, \ + {"mvd7", 34}, \ + {"mvd8", 35}, \ + {"mvd9", 36}, \ + {"mvd10", 37}, \ + {"mvd11", 38}, \ + {"mvd12", 39}, \ + {"mvd13", 40}, \ + {"mvd14", 41}, \ + {"mvd15", 42}, \ + {"mvfx0", 27}, \ + {"mvfx1", 28}, \ + {"mvfx2", 29}, \ + {"mvfx3", 30}, \ + {"mvfx4", 31}, \ + {"mvfx5", 32}, \ + {"mvfx6", 33}, \ + {"mvfx7", 34}, \ + {"mvfx8", 35}, \ + {"mvfx9", 36}, \ + {"mvfx10", 37}, \ + {"mvfx11", 38}, \ + {"mvfx12", 39}, \ + {"mvfx13", 40}, \ + {"mvfx14", 41}, \ + {"mvfx15", 42}, \ + {"mvdx0", 27}, \ + {"mvdx1", 28}, \ + {"mvdx2", 29}, \ + {"mvdx3", 30}, \ + {"mvdx4", 31}, \ + {"mvdx5", 32}, \ + {"mvdx6", 33}, \ + {"mvdx7", 34}, \ + {"mvdx8", 35}, \ + {"mvdx9", 36}, \ + {"mvdx10", 37}, \ + {"mvdx11", 38}, \ + {"mvdx12", 39}, \ + {"mvdx13", 40}, \ + {"mvdx14", 41}, \ + {"mvdx15", 42}, \ + {"d0", 63}, \ + {"d1", 65}, \ + {"d2", 67}, \ + {"d3", 69}, \ + {"d4", 71}, \ + {"d5", 73}, \ + {"d6", 75}, \ + {"d7", 77}, \ + {"d8", 79}, \ + {"d9", 81}, \ + {"d10", 83}, \ + {"d11", 85}, \ + {"d12", 87}, \ + {"d13", 89}, \ + {"d14", 91}, \ + {"d15", 93}, \ +} +#endif + +#define DBX_DEBUGGING_INFO 1 + +#ifndef ASM_COMMENT_START +#define ASM_COMMENT_START "@" +#endif + +#undef ASM_DECLARE_FUNCTION_SIZE +#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \ + do \ + { \ + ARM_DECLARE_FUNCTION_SIZE (FILE, FNAME, DECL); \ + } \ + while (0) + +#define DARWIN_SUBARCH_SPEC " \ + %{march=armv6k:armv6; \ + march=armv5tej:armv5; \ + march=xscale:xscale; \ + march=armv4t:armv4t; \ + mcpu=arm10tdmi:armv5; \ + mcpu=arm1020t:armv5; \ + mcpu=arm9e:armv5; \ + mcpu=arm946e-s:armv5; \ + mcpu=arm966e-s:armv5; \ + mcpu=arm968e-s:armv5; \ + mcpu=arm10e:armv5; \ + mcpu=arm1020e:armv5; \ + mcpu=arm1022e:armv5; \ + mcpu=arm926ej-s:armv5; \ + mcpu=arm1026ej-s:armv5; \ + mcpu=xscale:xscale; \ + mcpu=arm1136j-s:armv6; \ + mcpu=arm1136jf-s:armv6; \ + mcpu=arm1176jz-s:armv6; \ + mcpu=arm1176jzf-s:armv6; \ + :arm -force_cpusubtype_ALL}" + +#define DARWIN_MINVERSION_SPEC "10.5" + +#define DARWIN_DSYMUTIL_SPEC \ + "%{gdwarf*: dsymutil %{o*:%*}%{!o:a.out}}" + +#undef SUBTARGET_EXTRA_SPECS +#define SUBTARGET_EXTRA_SPECS \ + DARWIN_EXTRA_SPECS \ + { "darwin_arch", DARWIN_SUBARCH_SPEC }, \ + { "darwin_subarch", DARWIN_SUBARCH_SPEC }, + +/* This can go away once we can feature test the assembler correctly. */ +#define ASM_DEBUG_SPEC "" + +#define SUBTARGET_OVERRIDE_OPTIONS \ +do { \ + if (1) \ + { \ + if (MACHO_DYNAMIC_NO_PIC_P) \ + { \ + if (flag_pic) \ + warning (0, "-mdynamic-no-pic overrides -fpic or -fPIC"); \ + flag_pic = 0; \ + } \ + else if (flag_pic == 1) \ + { \ + /* Darwin doesn't support -fpic. */ \ + warning (0, "-fpic is not supported; -fPIC assumed"); \ + flag_pic = 2; \ + } \ + } \ +} while(0) + +/* We reserve r9 on darwin for thread local data. */ +#undef SUBTARGET_CONDITIONAL_REGISTER_USAGE +#define SUBTARGET_CONDITIONAL_REGISTER_USAGE \ + if (1) \ + { \ + fixed_regs[9] = 1; \ + call_used_regs[9] = 1; \ + } \ + if (TARGET_THUMB) \ + { \ + fixed_regs[THUMB_HARD_FRAME_POINTER_REGNUM] = 1; \ + call_used_regs[THUMB_HARD_FRAME_POINTER_REGNUM] = 1; \ + global_regs[THUMB_HARD_FRAME_POINTER_REGNUM] = 1; \ + } + +#undef TARGET_MACHO +#define TARGET_MACHO 1 + +#undef DEFAULT_STRUCTURE_SIZE_BOUNDARY +#define DEFAULT_STRUCTURE_SIZE_BOUNDARY 8 + +#undef DOT_WORD +#define DOT_WORD ".long" + +/* Output an element of a dispatch table. */ +#define ASM_OUTPUT_ADDR_VEC_ELT(STREAM, VALUE) \ + asm_fprintf (STREAM, "\t" DOT_WORD "\t%LL%d\n", VALUE) + +#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED) \ + do { \ + unsigned HOST_WIDE_INT _new_size = SIZE; \ + fputs (".comm ", (FILE)); \ + assemble_name ((FILE), (NAME)); \ + if (_new_size == 0) _new_size = 1; \ + fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED"\n", _new_size); \ + } while (0) + +#undef SUBTARGET_ASM_DECLARE_FUNCTION_NAME +#define SUBTARGET_ASM_DECLARE_FUNCTION_NAME ARM_DECLARE_FUNCTION_NAME + +/* We default to VFP */ +#define FPUTYPE_DEFAULT FPUTYPE_VFP + +#undef TARGET_DEFAULT_FLOAT_ABI +#define TARGET_DEFAULT_FLOAT_ABI (arm_arch6 ? ARM_FLOAT_ABI_SOFTFP : ARM_FLOAT_ABI_SOFT) + +#undef REGISTER_TARGET_PRAGMAS +#define REGISTER_TARGET_PRAGMAS DARWIN_REGISTER_TARGET_PRAGMAS + +#undef DEFAULT_SIGNED_CHAR +#define DEFAULT_SIGNED_CHAR (1) + +#undef GLOBAL_ASM_OP +#define GLOBAL_ASM_OP "\t.globl " + +#define TARGET_64BIT 0 + +#define C_COMMON_OVERRIDE_OPTIONS do { \ + SUBTARGET_C_COMMON_OVERRIDE_OPTIONS; \ + } while (0) + +/* The xxxvfp comparisons return 0 or 1. */ +#define FLOAT_LIB_COMPARE_RETURNS_BOOL(MODE, OPERATOR) \ + ((TARGET_MACHO && TARGET_THUMB && !TARGET_SOFT_FLOAT \ + && (flag_pic || MACHO_DYNAMIC_NO_PIC_P) \ + && (MODE == SFmode || MODE == DFmode)) ? 1 : 0) + +/* Until dyld supports aligned commons... */ +#undef ASM_OUTPUT_ALIGNED_COMMON + +/* Adjust inlining parameters. */ +#undef SUBTARGET_OPTIMIZATION_OPTIONS +#define SUBTARGET_OPTIMIZATION_OPTIONS \ + if (optimize_size) \ + { \ + set_param_value ("max-inline-insns-single", 9); \ + set_param_value ("max-inline-insns-auto", 4); \ + set_param_value ("inline-call-cost", 2); \ + } + +#undef ARM_DECLARE_FUNCTION_SIZE +#define ARM_DECLARE_FUNCTION_SIZE(STREAM, NAME, DECL) \ + if (!TARGET_LONG_CALLS || ! DECL_SECTION_NAME (DECL)) \ + arm_encode_call_attribute (DECL, SYMBOL_SHORT_CALL) + +/* Remove limit for -Os */ +#undef MAX_CONDITIONAL_EXECUTE +#define MAX_CONDITIONAL_EXECUTE (optimize_size ? INT_MAX : (BRANCH_COST + 1)) + +/* Use stabs for now */ +#undef PREFERRED_DEBUGGING_TYPE +#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG + +#undef TARGET_IASM_OP_CONSTRAINT +#define TARGET_IASM_OP_CONSTRAINT \ + { "ldr", 2, "m" }, Added: llvm-gcc-4.2/trunk/gcc/config/arm/darwin.opt URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/darwin.opt?rev=43930&view=auto ============================================================================== --- llvm-gcc-4.2/trunk/gcc/config/arm/darwin.opt (added) +++ llvm-gcc-4.2/trunk/gcc/config/arm/darwin.opt Fri Nov 9 01:19:47 2007 @@ -0,0 +1,9 @@ +; APPLE LOCAL file ARM Macintosh alignment +malign-mac68k +Target Report Mask(ALIGN_MAC68K) Var(darwin_alignment_flags) +Align structs and unions according to mac68k rules + +malign-natural +Target Report Mask(ALIGN_NATURAL) Var(darwin_alignment_flags) +Align structs and unions according to natural rules + Added: llvm-gcc-4.2/trunk/gcc/config/arm/t-darwin URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/t-darwin?rev=43930&view=auto ============================================================================== --- llvm-gcc-4.2/trunk/gcc/config/arm/t-darwin (added) +++ llvm-gcc-4.2/trunk/gcc/config/arm/t-darwin Fri Nov 9 01:19:47 2007 @@ -0,0 +1,16 @@ +# APPLE LOCAL file ARM darwin target +LIB1ASMSRC = arm/lib1funcs.asm +LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \ + _lshrdi3 _ashrdi3 _ashldi3 \ + _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \ + _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ + _fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundidf _floatundisf + +MULTILIB_OPTIONS = march=armv6k +MULTILIB_DIRNAMES = v6 +MULTILIB_EXCEPTIONS = +MULTILIB_MATCHES = +TARGET_LIBGCC2_CFLAGS = -fno-inline + +SHLIB_VERPFX = $(srcdir)/config/arm/darwin-libgcc + _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits