Print this page
9884 cw(1) should use -fpic rather than -Kpic
*** 69,80 ****
* -H Print path name of each file included during compilation
* -h <name> Assign <name> to generated dynamic shared library
* -I<dir> Add <dir> to preprocessor #include file search path
* -i Passed to linker to ignore any LD_LIBRARY_PATH setting
* -keeptmp Keep temporary files created during compilation
- * -KPIC Compile position independent code with 32-bit addresses
- * -Kpic Compile position independent code
* -L<dir> Pass to linker to add <dir> to the library search path
* -l<name> Link with library lib<name>.a or lib<name>.so
* -mc Remove duplicate strings from .comment section of output files
* -mr Remove all strings from .comment section of output files
* -mr,"string" Remove all strings and append "string" to .comment section
--- 69,78 ----
*** 178,189 ****
* -H pass-thru
* -h <name> pass-thru
* -I<dir> pass-thru
* -i pass-thru
* -keeptmp -save-temps
- * -KPIC -fPIC
- * -Kpic -fpic
* -L<dir> pass-thru
* -l<name> pass-thru
* -mc error
* -mr error
* -mr,"string" error
--- 176,185 ----
*** 565,575 ****
static void
do_gcc(cw_ictx_t *ctx)
{
int c;
! int pic = 0, nolibc = 0;
int in_output = 0, seen_o = 0, c_files = 0;
cw_op_t op = CW_O_LINK;
char *model = NULL;
char *nameflag;
int mflag = 0;
--- 561,571 ----
static void
do_gcc(cw_ictx_t *ctx)
{
int c;
! int nolibc = 0;
int in_output = 0, seen_o = 0, c_files = 0;
cw_op_t op = CW_O_LINK;
char *model = NULL;
char *nameflag;
int mflag = 0;
*** 701,710 ****
--- 697,714 ----
newae(ctx->i_ae, "-v");
break;
}
error(arg);
break;
+ case 'f':
+ if ((strcmp(arg, "-fpic") == 0) ||
+ (strcmp(arg, "-fPIC") == 0)) {
+ newae(ctx->i_ae, arg);
+ break;
+ }
+ error(arg);
+ break;
case 'g':
newae(ctx->i_ae, "-gdwarf-2");
break;
case 'E':
if (arglen == 1) {
*** 817,847 ****
newae(ctx->i_ae, "-save-temps");
break;
}
error(arg);
break;
- case 'K':
- if (arglen == 1) {
- if ((arg = *++ctx->i_oldargv) == NULL ||
- *arg == '\0')
- error("-K");
- ctx->i_oldargc--;
- } else {
- arg += 2;
- }
- if (strcmp(arg, "pic") == 0) {
- newae(ctx->i_ae, "-fpic");
- pic = 1;
- break;
- }
- if (strcmp(arg, "PIC") == 0) {
- newae(ctx->i_ae, "-fPIC");
- pic = 1;
- break;
- }
- error("-K");
- break;
case 'm':
if (strcmp(arg, "-mt") == 0) {
newae(ctx->i_ae, "-D_REENTRANT");
break;
}
--- 821,830 ----
*** 984,995 ****
*/
break;
}
if (strncmp(arg, "-Wc,-xcode=", 11) == 0) {
xlate(ctx->i_ae, arg + 11, xcode_tbl);
- if (strncmp(arg + 11, "pic", 3) == 0)
- pic = 1;
break;
}
if (strncmp(arg, "-Wc,-Qiselect", 13) == 0) {
/*
* Prevents insertion of register symbols.
--- 967,976 ----
*** 1062,1073 ****
xlate(ctx->i_ae, arg + 7, xchip_tbl);
break;
}
if (strncmp(arg, "-xcode=", 7) == 0) {
xlate(ctx->i_ae, arg + 7, xcode_tbl);
- if (strncmp(arg + 7, "pic", 3) == 0)
- pic = 1;
break;
}
if (strncmp(arg, "-xcrossfile", 11) == 0)
break;
error(arg);
--- 1043,1052 ----
*** 1286,1296 ****
if ((op == CW_O_LINK || op == CW_O_PREPROCESS) &&
(ctx->i_flags & CW_F_SHADOW))
exit(0);
! if (model && !pic)
newae(ctx->i_ae, model);
if (!nolibc)
newae(ctx->i_ae, "-lc");
if (!seen_o && (ctx->i_flags & CW_F_SHADOW)) {
newae(ctx->i_ae, "-o");
--- 1265,1275 ----
if ((op == CW_O_LINK || op == CW_O_PREPROCESS) &&
(ctx->i_flags & CW_F_SHADOW))
exit(0);
! if (model != NULL)
newae(ctx->i_ae, model);
if (!nolibc)
newae(ctx->i_ae, "-lc");
if (!seen_o && (ctx->i_flags & CW_F_SHADOW)) {
newae(ctx->i_ae, "-o");