Print this page
11461 should use a native link-editor during the build
11463 SUNWonld has passed its use-by date
11464 cmd/sgs/tools should contain tools, not common code
11465 sgsmsg should be built with the rest of the build tools
*** 304,313 ****
--- 304,314 ----
} cw_compiler_t;
typedef struct cw_ictx {
struct cw_ictx *i_next;
cw_compiler_t *i_compiler;
+ char *i_linker;
struct aelist *i_ae;
uint32_t i_flags;
int i_oldargc;
char **i_oldargv;
pid_t i_pid;
*** 1207,1224 ****
arg += 2;
}
/* Just ignore -YS,... for now */
if (strncmp(arg, "S,", 2) == 0)
break;
- if (strncmp(arg, "l,", 2) == 0) {
- char *s = strdup(arg);
- s[0] = '-';
- s[1] = 'B';
- newae(ctx->i_ae, s);
- free(s);
- break;
- }
if (strncmp(arg, "I,", 2) == 0) {
char *s = strdup(arg);
s[0] = '-';
s[1] = 'I';
newae(ctx->i_ae, "-nostdinc");
--- 1208,1217 ----
*** 1466,1475 ****
--- 1459,1471 ----
(void) printf("%s: %s\n", (ctx->i_flags & CW_F_SHADOW) ?
"shadow" : "primary", ctx->i_compiler->c_path);
(void) fflush(stdout);
}
+ if (ctx->i_linker != NULL)
+ setenv("LD_ALTEXEC", ctx->i_linker, 1);
+
if (!(ctx->i_flags & CW_F_XLATE))
return;
switch (ctx->i_compiler->c_style) {
case SUN:
*** 1725,1734 ****
--- 1721,1731 ----
cw_ictx_t *main_ctx;
static struct option longopts[] = {
{ "compiler", no_argument, NULL, 'c' },
+ { "linker", required_argument, NULL, 'l' },
{ "noecho", no_argument, NULL, 'n' },
{ "primary", required_argument, NULL, 'p' },
{ "shadow", required_argument, NULL, 's' },
{ "versions", no_argument, NULL, 'v' },
{ NULL, 0, NULL, 0 },
*** 1744,1753 ****
--- 1741,1754 ----
cflg = B_TRUE;
break;
case 'C':
Cflg = B_TRUE;
break;
+ case 'l':
+ if ((main_ctx->i_linker = strdup(optarg)) == NULL)
+ nomem();
+ break;
case 'n':
nflg = B_TRUE;
break;
case 'p':
if (primary.c_path != NULL) {