summaryrefslogtreecommitdiff
path: root/usr/src/cmd/sgs/include
diff options
context:
space:
mode:
authorAli Bahrami <Ali.Bahrami@Oracle.COM>2010-04-26 11:46:22 -0600
committerAli Bahrami <Ali.Bahrami@Oracle.COM>2010-04-26 11:46:22 -0600
commitdc0f59e5324b0cb0a8b1062e2d385e5c016661b2 (patch)
treef5fd6553ba3388bef1c0876e6960249365bba015 /usr/src/cmd/sgs/include
parent661b8ac7d0f039c645db17e87130c2c1eebeda1c (diff)
downloadillumos-joyent-dc0f59e5324b0cb0a8b1062e2d385e5c016661b2.tar.gz
6932220 ld -z allextract skips objects that lack global symbols
Diffstat (limited to 'usr/src/cmd/sgs/include')
-rw-r--r--usr/src/cmd/sgs/include/debug.h21
-rw-r--r--usr/src/cmd/sgs/include/libld.h4
-rw-r--r--usr/src/cmd/sgs/include/sgs.h2
3 files changed, 16 insertions, 11 deletions
diff --git a/usr/src/cmd/sgs/include/debug.h b/usr/src/cmd/sgs/include/debug.h
index e862c6c7f5..c0c992458a 100644
--- a/usr/src/cmd/sgs/include/debug.h
+++ b/usr/src/cmd/sgs/include/debug.h
@@ -449,8 +449,9 @@ extern void Dbg_help(void);
#define Dbg_syminfo_title Dbg64_syminfo_title
#define Dbg_syms_ar_checking Dbg64_syms_ar_checking
-#define Dbg_syms_ar_entry Dbg64_syms_ar_entry
+#define Dbg_syms_ar_force Dbg64_syms_ar_force
#define Dbg_syms_ar_resolve Dbg64_syms_ar_resolve
+#define Dbg_syms_ar_skip Dbg64_syms_ar_skip
#define Dbg_syms_ar_title Dbg64_syms_ar_title
#define Dbg_syms_cap_convert Dbg64_syms_cap_convert
#define Dbg_syms_cap_local Dbg64_syms_cap_local
@@ -679,8 +680,9 @@ extern void Dbg_help(void);
#define Dbg_syminfo_title Dbg32_syminfo_title
#define Dbg_syms_ar_checking Dbg32_syms_ar_checking
-#define Dbg_syms_ar_entry Dbg32_syms_ar_entry
+#define Dbg_syms_ar_force Dbg32_syms_ar_force
#define Dbg_syms_ar_resolve Dbg32_syms_ar_resolve
+#define Dbg_syms_ar_skip Dbg32_syms_ar_skip
#define Dbg_syms_ar_title Dbg32_syms_ar_title
#define Dbg_syms_cap_convert Dbg32_syms_cap_convert
#define Dbg_syms_cap_local Dbg32_syms_cap_local
@@ -813,7 +815,7 @@ extern void Dbg_ent_print(Lm_list *, uchar_t, Half, APlist *);
extern void Dbg_file_analyze(Rt_map *);
extern void Dbg_file_aout(Lm_list *, const char *, Addr, size_t,
const char *, Aliste);
-extern void Dbg_file_ar(Lm_list *, const char *, int);
+extern void Dbg_file_ar(Lm_list *, const char *, Boolean);
extern void Dbg_file_ar_rescan(Lm_list *, int, int);
extern void Dbg_file_bind_entry(Lm_list *, Bnd_desc *);
extern void Dbg_file_bindings(Rt_map *, int);
@@ -963,12 +965,13 @@ extern void Dbg_syminfo_entry(Lm_list *, Word, Syminfo *, Sym *,
const char *, Dyn *);
extern void Dbg_syminfo_title(Lm_list *);
-extern void Dbg_syms_ar_checking(Lm_list *, Xword, Elf_Arsym *,
- const char *);
-extern void Dbg_syms_ar_entry(Lm_list *, Xword, Elf_Arsym *);
-extern void Dbg_syms_ar_resolve(Lm_list *, Xword, Elf_Arsym *,
- const char *, int);
-extern void Dbg_syms_ar_title(Lm_list *, const char *, int);
+extern void Dbg_syms_ar_checking(Lm_list *, const char *, const char *,
+ Elf_Arsym *);
+extern void Dbg_syms_ar_force(Lm_list *, const char *, const char *);
+extern void Dbg_syms_ar_resolve(Lm_list *, const char *, const char *,
+ Elf_Arsym *);
+extern void Dbg_syms_ar_skip(Lm_list *, const char *, Elf_Arsym *);
+extern void Dbg_syms_ar_title(Lm_list *, const char *, Boolean);
extern void Dbg_syms_cap_convert(Ofl_desc *, Word, const char *, Sym *);
extern void Dbg_syms_cap_local(Ofl_desc *, Word, const char *, Sym *,
Sym_desc *);
diff --git a/usr/src/cmd/sgs/include/libld.h b/usr/src/cmd/sgs/include/libld.h
index 3571394e9c..6fdb38d99a 100644
--- a/usr/src/cmd/sgs/include/libld.h
+++ b/usr/src/cmd/sgs/include/libld.h
@@ -1428,8 +1428,8 @@ typedef enum {
*/
typedef struct ar_mem {
Elf *am_elf; /* elf descriptor for this member */
- char *am_name; /* members name */
- char *am_path; /* path (ie. lib(foo.o)) */
+ const char *am_name; /* members name */
+ const char *am_path; /* path (ie. lib(foo.o)) */
Sym *am_syms; /* start of global symbols */
char *am_strs; /* associated string table start */
Xword am_symn; /* no. of global symbols */
diff --git a/usr/src/cmd/sgs/include/sgs.h b/usr/src/cmd/sgs/include/sgs.h
index 4dbe868ee3..f754f7d5d3 100644
--- a/usr/src/cmd/sgs/include/sgs.h
+++ b/usr/src/cmd/sgs/include/sgs.h
@@ -190,6 +190,8 @@ typedef struct {
#define SGS_REJ_MACHCAP 15 /* machine capability mismatch */
#define SGS_REJ_PLATCAP 16 /* platform capability mismatch */
#define SGS_REJ_HWCAP_2 17 /* hardware capabilities mismatch */
+#define SGS_REJ_ARCHIVE 18 /* archive used in invalid context */
+#define SGS_REJ_NUM 19
#define FLG_REJ_ALTER 0x01 /* object name is an alternative */