From aeb732c12e1b2ff6457690092798901e5d98ff86 Mon Sep 17 00:00:00 2001 From: Geoffrey Keating Date: Tue, 3 Aug 2004 00:52:18 +0000 Subject: [PATCH] Index: ChangeLog 2004-08-02 Geoffrey Keating * ltcf-cxx.sh: On Darwin, make archive multi-module, and don't use -all_load flag. Index: gcc/ChangeLog 2004-08-02 Geoffrey Keating * dwarf2out.c (output_call_frame_info): Don't change data format due to TARGET_USES_WEAK_UNWIND_INFO. Always refer to the local label. Use 'true' not '1'. * doc/install.texi (powerpc-*-darwin*): Mention cctools version required. From-SVN: r85461 --- ChangeLog | 5 +++++ gcc/ChangeLog | 8 ++++++++ gcc/doc/install.texi | 10 ++-------- gcc/dwarf2out.c | 25 +++++++------------------ ltcf-cxx.sh | 4 ++-- 5 files changed, 24 insertions(+), 28 deletions(-) diff --git a/ChangeLog b/ChangeLog index df96fb7aed6..27d0730fe0a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-08-02 Geoffrey Keating + + * ltcf-cxx.sh: On Darwin, make archive multi-module, and don't + use -all_load flag. + 2004-08-02 Paolo Bonzini * configure.in: Sync from src, add noconfigdirs for crx-*-*. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1e66034b8eb..7164a2989a6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2004-08-02 Geoffrey Keating + + * dwarf2out.c (output_call_frame_info): Don't change data format + due to TARGET_USES_WEAK_UNWIND_INFO. Always refer to the local + label. Use 'true' not '1'. + * doc/install.texi (powerpc-*-darwin*): Mention cctools version + required. + 2004-08-02 Gabriel Dos Reis * gdbinit.in: Reflect previous changes to rtunion_def. diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 0af4aa73e0f..9c7d01029c4 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -3306,17 +3306,11 @@ binaries are available at @uref{http://developer.apple.com/tools/compilers.html} (free registration required). -The default stack limit of 512K is too small, which may cause compiles -to fail with 'Bus error'. Set the stack larger, for instance -by doing @samp{limit stack 800}. It's a good idea to use the GNU -preprocessor instead of Apple's @file{cpp-precomp} during the first stage of -bootstrapping; this is automatic when doing @samp{make bootstrap}, but -to do it from the toplevel objdir you will need to say @samp{make -CC='cc -no-cpp-precomp' bootstrap}. +This version of GCC requires at least cctools-528. The version of GCC shipped by Apple typically includes a number of extensions not available in a standard GCC release. These extensions -are generally specific to Mac programming. +are generally for backwards compatibility and best avoided. @html
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 4a1037fdf72..46b3b512660 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -2089,7 +2089,7 @@ output_call_frame_info (int for_eh) any_eh_needed = any_lsda_needed = true; else if (TARGET_USES_WEAK_UNWIND_INFO && DECL_ONE_ONLY (fde_table[i].decl)) - any_eh_needed = 1; + any_eh_needed = true; else if (! fde_table[i].nothrow && ! fde_table[i].all_throwers_are_sibcalls) any_eh_needed = true; @@ -2141,9 +2141,7 @@ output_call_frame_info (int for_eh) P Indicates the presence of an encoding + language personality routine in the CIE augmentation. */ - fde_encoding = TARGET_USES_WEAK_UNWIND_INFO - ? ASM_PREFERRED_EH_DATA_FORMAT (/*code=*/2, /*global=*/1) - : ASM_PREFERRED_EH_DATA_FORMAT (/*code=*/1, /*global=*/0); + fde_encoding = ASM_PREFERRED_EH_DATA_FORMAT (/*code=*/1, /*global=*/0); per_encoding = ASM_PREFERRED_EH_DATA_FORMAT (/*code=*/2, /*global=*/1); lsda_encoding = ASM_PREFERRED_EH_DATA_FORMAT (/*code=*/0, /*global=*/0); @@ -2258,20 +2256,11 @@ output_call_frame_info (int for_eh) if (for_eh) { - if (TARGET_USES_WEAK_UNWIND_INFO - && DECL_ONE_ONLY (fde->decl)) - dw2_asm_output_encoded_addr_rtx (fde_encoding, - gen_rtx_SYMBOL_REF (Pmode, IDENTIFIER_POINTER - (DECL_ASSEMBLER_NAME (fde->decl))), - "FDE initial location"); - else - { - rtx sym_ref = gen_rtx_SYMBOL_REF (Pmode, fde->dw_fde_begin); - SYMBOL_REF_FLAGS (sym_ref) |= SYMBOL_FLAG_LOCAL; - dw2_asm_output_encoded_addr_rtx (fde_encoding, - sym_ref, - "FDE initial location"); - } + rtx sym_ref = gen_rtx_SYMBOL_REF (Pmode, fde->dw_fde_begin); + SYMBOL_REF_FLAGS (sym_ref) |= SYMBOL_FLAG_LOCAL; + dw2_asm_output_encoded_addr_rtx (fde_encoding, + sym_ref, + "FDE initial location"); dw2_asm_output_delta (size_of_encoded_value (fde_encoding), fde->dw_fde_end, fde->dw_fde_begin, "FDE address range"); diff --git a/ltcf-cxx.sh b/ltcf-cxx.sh index ce28177ee11..7edeb864b17 100644 --- a/ltcf-cxx.sh +++ b/ltcf-cxx.sh @@ -254,7 +254,8 @@ case $host_os in ;; esac output_verbose_link_cmd='echo' - archive_cmds='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + + archive_cmds='$CXX -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, @@ -264,7 +265,6 @@ case $host_os in hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='-all_load $convenience' link_all_deplibs=yes ;;