diff options
author | Geoffrey Keating <geoffk@apple.com> | 2004-08-03 00:52:18 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 2004-08-03 00:52:18 +0000 |
commit | aeb732c12e1b2ff6457690092798901e5d98ff86 (patch) | |
tree | 8f5dad005756752c4055726b4b94227340ec6e4a | |
parent | 474f541727096df25c2268c462fcb8c4daa898b6 (diff) | |
download | gcc-aeb732c12e1b2ff6457690092798901e5d98ff86.zip gcc-aeb732c12e1b2ff6457690092798901e5d98ff86.tar.gz gcc-aeb732c12e1b2ff6457690092798901e5d98ff86.tar.bz2 |
Index: ChangeLog
2004-08-02 Geoffrey Keating <geoffk@apple.com>
* ltcf-cxx.sh: On Darwin, make archive multi-module, and don't
use -all_load flag.
Index: gcc/ChangeLog
2004-08-02 Geoffrey Keating <geoffk@apple.com>
* 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
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/doc/install.texi | 10 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 25 | ||||
-rw-r--r-- | ltcf-cxx.sh | 4 |
5 files changed, 24 insertions, 28 deletions
@@ -1,3 +1,8 @@ +2004-08-02 Geoffrey Keating <geoffk@apple.com> + + * ltcf-cxx.sh: On Darwin, make archive multi-module, and don't + use -all_load flag. + 2004-08-02 Paolo Bonzini <bonzini@gnu.org> * configure.in: Sync from src, add noconfigdirs for crx-*-*. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1e66034..7164a29 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2004-08-02 Geoffrey Keating <geoffk@apple.com> + + * 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 <gdr@cs.tamu.edu> * gdbinit.in: Reflect previous changes to rtunion_def. diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 0af4aa7..9c7d010 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 <hr /> diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 4a1037f..46b3b51 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 ce28177..7edeb86 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 ;; |