aboutsummaryrefslogtreecommitdiff
path: root/ld/ldsym.h
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@cygnus>1992-09-25 21:05:20 +0000
committerKen Raeburn <raeburn@cygnus>1992-09-25 21:05:20 +0000
commitf3b36ecb30e9201c3592ecc00ef0c02736892666 (patch)
tree366b2401162928697fc96b3aa45835a671c7cd4c /ld/ldsym.h
parent57cae454d45dae7ea28236073220aa99abb44e33 (diff)
downloadgdb-f3b36ecb30e9201c3592ecc00ef0c02736892666.zip
gdb-f3b36ecb30e9201c3592ecc00ef0c02736892666.tar.gz
gdb-f3b36ecb30e9201c3592ecc00ef0c02736892666.tar.bz2
* Makefile.in (ldexp.o, ldctor.o, ldlang.o, ldmain.o, ldwrite.o, lexsup.o,
mri.o, relax.o): Indicate dependence on ldgram.h. * ld.h (strip_symbols_type): Add value STRIP_SOME. * ldgram.y (OPTION_RETAIN_SYMBOLS_FILE): New terminal token. (lang_add_keepsyms_file): New function. * ldlex.l: Handle "-retain-symbols-file". * ldsym.c (keepsyms_file, kept_syms): New vars. (process_keepsyms): New functihon; reads file, marks symbols for saving. (write_file_locals): File symbols should always be kept. (ldsym_write): Warn about "-retain-symbols-file" overriding "-S" and "-s". Process retain-symbols file before setting symtab. * ldsym.h (SYM_KEEP): New flag for ldsym_type flags. (keepsyms_file, kept_syms): Declare them. * ldmain.c (main): Non-fatal errors should still cause non-zero exit status even with -r.
Diffstat (limited to 'ld/ldsym.h')
-rw-r--r--ld/ldsym.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/ld/ldsym.h b/ld/ldsym.h
index 90ba007..fdd24da 100644
--- a/ld/ldsym.h
+++ b/ld/ldsym.h
@@ -53,9 +53,14 @@ typedef struct user_symbol_struct
#define SYM_WARNING 2
/* IF this is an alias for another symbol */
#define SYM_INDIRECT 4
+ /* If this symbol explicitly should be kept, despite discarding
+ most others. */
+#define SYM_KEEP 8
int flags;
} ldsym_type;
+extern CONST char *keepsyms_file;
+extern int kept_syms;
PROTO(ldsym_type *, ldsym_get, (CONST char *));
PROTO(ldsym_type *, ldsym_get_soft, (CONST char *));