$NetBSD: patch-am,v 1.1 2000/08/09 10:33:22 jun Exp $
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;