diff -cr ld.org/ld.h ld/ld.h *** ld.org/ld.h Sat May 2 00:48:48 1998 --- ld/ld.h Fri Aug 4 22:51:58 2000 *************** *** 117,122 **** --- 117,125 ---- /* If true, doing a dynamic link. */ boolean dynamic_link; + /* If true, do not use SEARCH_DIR directives from the linker script. */ + boolean no_std_path; + /* If true, build constructors. */ boolean build_constructors; Only in ld: ld.h.orig diff -cr ld.org/ldgram.y ld/ldgram.y *** ld.org/ldgram.y Sat May 2 00:48:49 1998 --- ld/ldgram.y Fri Aug 4 22:52:00 2000 *************** *** 295,301 **** | TARGET_K '(' NAME ')' { lang_add_target($3); } | SEARCH_DIR '(' filename ')' ! { ldfile_add_library_path ($3, false); } | OUTPUT '(' filename ')' { lang_add_output($3, 1); } | OUTPUT_FORMAT '(' NAME ')' --- 295,301 ---- | TARGET_K '(' NAME ')' { lang_add_target($3); } | SEARCH_DIR '(' filename ')' ! { if (!config.no_std_path) ldfile_add_library_path ($3, false); } | OUTPUT '(' filename ')' { lang_add_output($3, 1); } | OUTPUT_FORMAT '(' NAME ')' Only in ld: ldgram.y.orig diff -cr ld.org/ldmain.c ld/ldmain.c *** ld.org/ldmain.c Sat May 2 00:48:49 1998 --- ld/ldmain.c Fri Aug 4 22:52:02 2000 *************** *** 188,193 **** --- 188,194 ---- whole_archive = false; config.build_constructors = true; config.dynamic_link = false; + config.no_std_path = (getenv("LD_NOSTD_PATH") ? true : false); command_line.force_common_definition = false; command_line.interpreter = NULL; command_line.rpath = NULL; Only in ld: ldmain.c.orig diff -cr ld.org/lexsup.c ld/lexsup.c *** ld.org/lexsup.c Sat May 2 00:48:49 1998 --- ld/lexsup.c Fri Aug 4 22:52:05 2000 *************** *** 111,116 **** --- 111,117 ---- #define OPTION_WHOLE_ARCHIVE (OPTION_SPLIT_BY_FILE + 1) #define OPTION_WRAP (OPTION_WHOLE_ARCHIVE + 1) #define OPTION_FORCE_EXE_SUFFIX (OPTION_WRAP + 1) + #define OPTION_NO_STD_PATH (OPTION_FORCE_EXE_SUFFIX + 16) /* The long options. This structure is used for both the option parsing and the help text. */ *************** *** 266,271 **** --- 267,274 ---- '\0', NULL, "Create an output file even if errors occur", TWO_DASHES }, { {"noinhibit_exec", no_argument, NULL, OPTION_NOINHIBIT_EXEC}, '\0', NULL, NULL, NO_HELP }, + { {"nostdlib", no_argument, NULL, OPTION_NO_STD_PATH}, /* NetBSD. */ + '\0', NULL, "Do not use default library search path", ONE_DASH }, { {"oformat", required_argument, NULL, OPTION_OFORMAT}, '\0', "TARGET", "Specify target of output file", TWO_DASHES }, { {"qmagic", no_argument, NULL, OPTION_IGNORE}, *************** *** 283,289 **** '\0', "PATH", "Set link time shared library search path", ONE_DASH }, { {"shared", no_argument, NULL, OPTION_SHARED}, '\0', NULL, "Create a shared library", ONE_DASH }, ! { {"Bshareable", no_argument, NULL, OPTION_SHARED }, /* FreeBSD. */ '\0', NULL, NULL, ONE_DASH }, { {"sort-common", no_argument, NULL, OPTION_SORT_COMMON}, '\0', NULL, "Sort common symbols by size", TWO_DASHES }, --- 286,292 ---- '\0', "PATH", "Set link time shared library search path", ONE_DASH }, { {"shared", no_argument, NULL, OPTION_SHARED}, '\0', NULL, "Create a shared library", ONE_DASH }, ! { {"Bshareable", no_argument, NULL, OPTION_SHARED }, /* FreeBSD, NetBSD. */ '\0', NULL, NULL, ONE_DASH }, { {"sort-common", no_argument, NULL, OPTION_SORT_COMMON}, '\0', NULL, "Sort common symbols by size", TWO_DASHES }, *************** *** 327,332 **** --- 330,337 ---- TWO_DASHES }, { {"whole-archive", no_argument, NULL, OPTION_WHOLE_ARCHIVE}, '\0', NULL, "Include all objects from following archives", TWO_DASHES }, + { {"Bforcearchive", no_argument, NULL, OPTION_WHOLE_ARCHIVE }, /* NetBSD. */ + '\0', NULL, NULL, ONE_DASH }, { {"wrap", required_argument, NULL, OPTION_WRAP}, '\0', "SYMBOL", "Use wrapper functions for SYMBOL", TWO_DASHES } }; *************** *** 580,585 **** --- 585,593 ---- break; case OPTION_NO_KEEP_MEMORY: link_info.keep_memory = false; + break; + case OPTION_NO_STD_PATH: + config.no_std_path = true; break; case OPTION_NO_WARN_MISMATCH: command_line.warn_mismatch = false;