OSDN Git Service

* pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Nov 2002 19:13:34 +0000 (19:13 +0000)
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Nov 2002 19:13:34 +0000 (19:13 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58863 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/pa/pa64-hpux.h

index 75e18c7..9610b53 100644 (file)
@@ -1,3 +1,7 @@
+2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
+
 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
 
        * config/mips/mips.md (call_value_multiple_internal2): Use dla for
index 2ed1e14..6d9728d 100644 (file)
@@ -135,6 +135,21 @@ do {  \
 
 #undef STARTFILE_SPEC
 #define STARTFILE_SPEC "%{!shared: %{!symbolic: crt0.o%s}}"
+
+/* Since we are not yet using .init and .fini sections, we need to
+   explicitly arrange to run the global constructors and destructors.
+   HPUX 11 has ldd and we use it to determine the dependencies of
+   dynamic objects.  It might be possible to use the ld options for
+   running initializers and terminators and thereby avoid the necessity
+   of running ldd, but unfortunately the options are different for
+   the two linkers.  */
+#define LDD_SUFFIX "/usr/ccs/bin/ldd"
+/* Skip to first '>' then advance to '/' at the beginning of the filename.  */
+#define PARSE_LDD_OUTPUT(PTR)                                  \
+do {                                                           \
+  while (*PTR != '>') PTR++;                                   \
+  while (*PTR != '/') PTR++;                                   \
+} while (0)
 #endif
 
 /* Switch into a generic section.  */