Index: gcc/gcc/config/rs6000/aix.h |
diff --git a/gcc/gcc/config/rs6000/aix.h b/gcc/gcc/config/rs6000/aix.h |
index 4e736ce3fc231589382dea907339c6bbc932d9a9..ec7add4c2e64242bd5a1a46f77107a29451a2324 100644 |
--- a/gcc/gcc/config/rs6000/aix.h |
+++ b/gcc/gcc/config/rs6000/aix.h |
@@ -1,6 +1,6 @@ |
/* Definitions of target machine for GNU compiler, |
for IBM RS/6000 POWER running AIX. |
- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
+ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 |
Free Software Foundation, Inc. |
This file is part of GCC. |
@@ -43,6 +43,14 @@ |
collect has a chance to see them, so scan the object files directly. */ |
#define COLLECT_EXPORT_LIST |
+#if HAVE_AS_REF |
+/* Issue assembly directives that create a reference to the given DWARF table |
+ identifier label from the current function section. This is defined to |
+ ensure we drag frame frame tables associated with needed function bodies in |
+ a link with garbage collection activated. */ |
+#define ASM_OUTPUT_DWARF_TABLE_REF rs6000_aix_asm_output_dwarf_table_ref |
+#endif |
+ |
/* Handle #pragma weak and #pragma pack. */ |
#define HANDLE_SYSV_PRAGMA 1 |
@@ -120,18 +128,10 @@ |
/* #define ASM_SPEC "-u %(asm_cpu)" */ |
/* Default location of syscalls.exp under AIX */ |
-#ifndef CROSS_DIRECTORY_STRUCTURE |
-#define LINK_SYSCALLS_SPEC "-bI:/lib/syscalls.exp" |
-#else |
-#define LINK_SYSCALLS_SPEC "" |
-#endif |
+#define LINK_SYSCALLS_SPEC "-bI:%R/lib/syscalls.exp" |
/* Default location of libg.exp under AIX */ |
-#ifndef CROSS_DIRECTORY_STRUCTURE |
-#define LINK_LIBG_SPEC "-bexport:/usr/lib/libg.exp" |
-#else |
-#define LINK_LIBG_SPEC "" |
-#endif |
+#define LINK_LIBG_SPEC "-bexport:%R/usr/lib/libg.exp" |
/* Define the options for the binder: Start text at 512, align all segments |
to 512 bytes, and warn if there is text relocation. |
@@ -152,11 +152,11 @@ |
%{!shared:%{g*: %(link_libg) }} %{shared:-bM:SRE}" |
/* Profiled library versions are used by linking with special directories. */ |
-#define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\ |
-%{p:-L/lib/profiled -L/usr/lib/profiled} %{!shared:%{g*:-lg}} -lc" |
+#define LIB_SPEC "%{pg:-L%R/lib/profiled -L%R/usr/lib/profiled}\ |
+%{p:-L%R/lib/profiled -L%R/usr/lib/profiled} %{!shared:%{g*:-lg}} -lc" |
/* Static linking with shared libstdc++ requires libsupc++ as well. */ |
-#define LIBSTDCXX_STATIC "-lstdc++ -lsupc++" |
+#define LIBSTDCXX_STATIC "-lsupc++" |
/* This now supports a natural alignment mode. */ |
/* AIX word-aligns FP doubles but doubleword-aligns 64-bit ints. */ |