From 01bc8f35b54955e9ddbb673b43961aa436336a2e Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 10 Mar 1995 20:02:51 +0000 Subject: [PATCH] * 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. --- ld/ChangeLog | 14 +++++++++++ ld/ld.texinfo | 64 +++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 66 insertions(+), 12 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 42af374964f..1935b27288b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,17 @@ +Fri Mar 10 14:43:48 1995 Ian Lance Taylor + + * 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 + + * 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 diff --git a/ld/ld.texinfo b/ld/ld.texinfo index b33094a115d..28eeff04eb9 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -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{} ) -- 2.30.2