* ldlex.l: Return -lFILENAME as the token LNAME.
authorIan Lance Taylor <ian@airs.com>
Fri, 10 Mar 1995 20:02:51 +0000 (20:02 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 10 Mar 1995 20:02:51 +0000 (20:02 +0000)
* ldgram.y: Add token LNAME.
(input_list): Treat LNAME like NAME, but pass it to
lang_add_input_file as lang_input_file_is_l_enum.
* ld.texinfo: Document using -lFILENAME in INPUT.

ld/ChangeLog
ld/ld.texinfo

index 42af374..1935b27 100644 (file)
@@ -1,3 +1,17 @@
+Fri Mar 10 14:43:48 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ldlex.l: Return -lFILENAME as the token LNAME.
+       * ldgram.y: Add token LNAME.
+       (input_list): Treat LNAME like NAME, but pass it to
+       lang_add_input_file as lang_input_file_is_l_enum.
+       * ld.texinfo: Document using -lFILENAME in INPUT.
+
+Thu Mar  9 12:21:51 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * ldlang.c (lang_check): If the architectures are compatible call
+       bfd_merge_private_bfd_data to let the backend do additional
+       checks.
+
 start-sanitize-arc
 Tue Mar  7 21:10:28 1995  Doug Evans  <dje@chestnut.cygnus.com>
 
index b33094a..28eeff0 100644 (file)
@@ -170,7 +170,7 @@ ld [ -o @var{output} ]  @var{objfile}@dots{}
   [ -A@var{architecture} ]  [ -b @var{input-format} ]  [ -Bstatic ]  
   [ -c @var{MRI-commandfile} ]  [ -d | -dc | -dp ]  
   [ -defsym @var{symbol}=@var{expression} ]
-  [ -dynamic-linker @var{file} ]
+  [ -dynamic-linker @var{file} ] [ -embedded-relocs ]
   [ -e @var{entry} ]  [ -F ]  [ -F @var{format} ]
   [ -format @var{input-format} ]  [ -g ]  [ -G @var{size} ]  [ -help ]
   [ -i ]  [ -l@var{archive} ]  [ -L@var{searchdir} ]  [ -M ]
@@ -181,9 +181,10 @@ ld [ -o @var{output} ]  @var{objfile}@dots{}
   [ -sort-common ] [ -stats ] [ -T @var{commandfile} ]
   [ -Ttext @var{org} ]  [ -Tdata @var{org} ]
   [ -Tbss @var{org} ]  [ -t ] [ -traditional-format ]
-  [ -u @var{symbol}]  [-V]  [-v]  [ -version ]
-  [ -warn-common ]  [ -y @var{symbol} ]  [ -X ]  [-x ]
+  [ -u @var{symbol}]  [-V]  [-v]  [ -verbose]  [ -version ]
+  [ -warn-common ]  [ -warn-once ] [ -y @var{symbol} ]  [ -X ]  [-x ]
   [ -( [ archives ] -) ] [ --start-group [ archives ] --end-group ]
+  [ -split-by-reloc @var{count} ] [-split-by-file]
 @end smallexample
 
 This plethora of command-line options may seem intimidating, but in
@@ -360,6 +361,15 @@ linker is normally correct; don't use this unless you know what you are
 doing.
 @end ifset
 
+@cindex MIPS embedded PIC code
+@kindex -embedded-relocs
+@item -embedded-relocs
+This option is only meaningful when linking MIPS embedded PIC code,
+generated by the -membedded-pic option to the GNU compiler and
+assembler.  It causes the linker to create a table which may be used at
+runtime to relocate any data which was statically initialized to pointer
+values.  See the code in testsuite/ld-empic for details.
+
 @cindex entry point, from command line
 @kindex -e @var{entry}
 @item -e @var{entry} 
@@ -452,8 +462,8 @@ common storage allocation.
 @item -m@var{emulation}
 @itemx -m @var{emulation}
 Emulate the @var{emulation} linker.  You can list the available
-emulations with the @samp{-V} option.  The
-default depends on how your @code{ld} was configured.
+emulations with the @samp{--verbose} or @samp{-V} options.  The default
+depends on how your @code{ld} was configured.
 
 @kindex -N
 @cindex read/write from cmd line
@@ -607,6 +617,24 @@ one byte symbols, then all the two bytes, then all the four bytes, and
 then everything else.  This is to prevent gaps between symbols due to
 alignment constraints.  This option disables that sorting.
 
+@item -split-by-reloc @var{count}
+@kindex split
+Trys to creates extra sections in the output file so that no single output section
+in the file contains more than @var{count} relocations.  This
+is useful when generating huge relocatable for downloading into
+certain real time kernels with the COFF object file format; since
+COFF cannot represent more than 65535 relocations in a single section.
+Note that this will fail to work with object file formats which do not
+support arbitrary sections.  The linker will not split up individual input
+sections for redistribution,  so if a single input section contains
+more than @var{count} relocations one output section will contain that
+many relocations.
+
+@item -split-by-file
+@kindex split
+Similar to -split-by-reloc but creates a new output section for each
+input file.
+
 @item -stats
 Compute and display statistics about the operation of the linker,
 such as execution time and memory usage.
@@ -678,16 +706,19 @@ with @samp{-Ur}; once the constructor table has been built, it cannot
 be added to.  Use @samp{-Ur} only for the last partial link, and
 @samp{-r} for the others.
 
-@kindex -V
+@kindex --verbose
 @cindex version
-@item -V
+@item --verbose
 Display the version number for @code{ld} and list the linker emulations
 supported.  Display which input files can and cannot be opened.
 
 @kindex -v
+@kindex -V
 @cindex version
 @item -v
-Display the version number for @code{ld}.
+@itemx -V
+Display the version number for @code{ld}.  The @code{-V} option also
+lists the supported emulations.
 
 @item -version
 @kindex -version
@@ -778,18 +809,24 @@ encountered in a different order.
 @end smallexample
 @end enumerate
 
+@kindex -warn-once
+@cindex warnings, on undefined symbols
+@cindex undefined symbols, warnings on
+@item -warn-once
+Only warn once for each undefined symbol, rather than once per module
+which refers to it.
+
 @kindex -X
 @cindex local symbols, deleting
 @cindex L, deleting symbols beginning
 @item -X 
-If @samp{-s} or @samp{-S} is also specified, delete only local symbols
-beginning with @samp{L}.
+Delete all temporary local symbols.  For most targets, this is all local
+symbols whose names begin with @samp{L}.
 
 @kindex -x
 @cindex deleting local symbols
 @item -x
-If @samp{-s} or @samp{-S} is also specified, delete all local symbols,
-not just those beginning with @samp{L}.
+Delete all local symbols.
 
 @item -y @var{symbol}
 @kindex -y @var{symbol}
@@ -2050,6 +2087,9 @@ search path, just as for files you specify on the command line.
 See the description of @samp{-L} in @ref{Options,,Command Line
 Options}.
 
+If you use @samp{-l@var{file}}, @code{ld} will transform the name to
+@code{lib@var{file}.a} as with the command line argument @samp{-l}.
+
 @kindex GROUP ( @var{files} )
 @cindex grouping input files
 @item GROUP ( @var{file}, @var{file}, @dots{} )