diff options
Diffstat (limited to 'gcc/config/pa/pa.h')
-rw-r--r-- | gcc/config/pa/pa.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index ceef67d7..0c9a217 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -196,7 +196,7 @@ extern int target_flags; #define CC1_SPEC "%{pg:} %{p:}" -#define LINK_SPEC "-u main" +#define LINK_SPEC "%{!shared:-u main} %{shared:-b}" /* Allow $ in identifiers. */ #define DOLLARS_IN_IDENTIFIERS 2 @@ -214,6 +214,22 @@ extern int target_flags; /* Names to predefine in the preprocessor for this target machine. */ #define CPP_PREDEFINES "-Dhppa -Dhp9000s800 -D__hp9000s800 -Dhp9k8 -Dunix -D_HPUX_SOURCE -Dhp9000 -Dhp800 -Dspectrum -DREVARGV -Asystem(unix) -Asystem(bsd) -Acpu(hppa) -Amachine(hppa)" + +/* HPUX has a program 'chatr' to list the dependencies of dynamically + linked executables and shared libraries. */ +#define LDD_SUFFIX "chatr" +/* look for lines like "dynamic /usr/lib/X11R5/libX11.sl". */ +#define PARSE_LDD_OUTPUT(PTR) \ +do { \ + while (*PTR == ' ') PTR++; \ + if (strncmp (PTR, "dynamic", sizeof ("dynamic") - 1) == 0) \ + { \ + PTR += sizeof ("dynamic") - 1; \ + while (*p == ' ') PTR++; \ + } \ + else \ + PTR = 0; \ +} while (0) /* target machine storage layout */ |