diff options
author | Jason Merrill <merrill@gnu.org> | 1994-10-19 22:09:20 +0000 |
---|---|---|
committer | Jason Merrill <merrill@gnu.org> | 1994-10-19 22:09:20 +0000 |
commit | f311b280766d9f2ea37f00f4318a62482512691a (patch) | |
tree | cc422ef182e815fd458910a3edb6fe57c78e81ab /gcc/config/pa | |
parent | 05ca35c718e8540c9365559e517fb1e4aa5e1b14 (diff) | |
download | gcc-f311b280766d9f2ea37f00f4318a62482512691a.zip gcc-f311b280766d9f2ea37f00f4318a62482512691a.tar.gz gcc-f311b280766d9f2ea37f00f4318a62482512691a.tar.bz2 |
(NM_FLAGS): Define to "-h" (SysV output, no header).
(COLLECT_QUALIFY_MATCH): Define to ignore all symbols of types other
than code.
(REAL_NM_FILE_NAME): Define to "/bin/nm" to force use of the vendor nm.
From-SVN: r8316
Diffstat (limited to 'gcc/config/pa')
-rw-r--r-- | gcc/config/pa/pa-hpux.h | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/gcc/config/pa/pa-hpux.h b/gcc/config/pa/pa-hpux.h index 4ba244e..45ea1b2 100644 --- a/gcc/config/pa/pa-hpux.h +++ b/gcc/config/pa/pa-hpux.h @@ -48,6 +48,25 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ pretend they are `extern "C"'. */ #define NO_IMPLICIT_EXTERN_C -/* The HPUX linker duplicates all text symbols when given -E; this confuses - collect2. */ -#define COLLECT_SUPPRESS_OPTIONS "E" +/* We need to use the vendor nm for collect, since GNU nm isn't clever + enough to distinguish between the duplicate symbols used with shared + libraries under HPUX. */ +#define REAL_NM_FILE_NAME "/bin/nm" + +/* To the hpux nm, -p means BSD-style output; we don't want that. */ +#define NM_FLAGS "-h" + +/* When dealing with shared libraries, the hpux ld can create duplicate + symbols. The fourth field of nm's output distinguishes between the real + one (type "code") and the fake one (type "entry"). */ +#define COLLECT_QUALIFY_MATCH \ +{ \ + char *p = end; \ + int cnt = 0; \ + for (; *p != '\n';) \ + if (*p++ == '|' \ + && ++cnt == 3) \ + break; \ + if (*p != 'c') \ + continue; \ +} |