mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 18:08:24 +08:00
ld/
200x-xx-xx Richard Sandiford <richard@codesourcery.com> Daniel Jacobowitz <dan@codesourcery.com> * NEWS: Mention -l:foo. * ld.texinfo: Document it. * ldlang.c (new_afile): If a lang_input_file_is_l_enum entry as a name beginning with a coloh, convert it to a lang_input_file_is_search_file_enum entry without the colon. ld/testsuite/ * ld-libs/lib-1.s, ld-libs/lib-2.s, ld-libs/lib-2.d, * ld-libs/libs.exp: New files.
This commit is contained in:
@ -1,3 +1,12 @@
|
|||||||
|
2007-03-29 Richard Sandiford <richard@codesourcery.com>
|
||||||
|
Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
|
|
||||||
|
* NEWS: Mention -l:foo.
|
||||||
|
* ld.texinfo: Document it.
|
||||||
|
* ldlang.c (new_afile): If a lang_input_file_is_l_enum
|
||||||
|
entry as a name beginning with a coloh, convert it to a
|
||||||
|
lang_input_file_is_search_file_enum entry without the colon.
|
||||||
|
|
||||||
2007-03-28 Richard Sandiford <richard@codesourcery.com>
|
2007-03-28 Richard Sandiford <richard@codesourcery.com>
|
||||||
|
|
||||||
* ld.h (ld_config_type): Add rpath_separator.
|
* ld.h (ld_config_type): Add rpath_separator.
|
||||||
|
3
ld/NEWS
3
ld/NEWS
@ -1,4 +1,7 @@
|
|||||||
-*- text -*-
|
-*- text -*-
|
||||||
|
* -l:foo now searches the library path for a filename called foo,
|
||||||
|
without converting it to libfoo.a or libfoo.so.
|
||||||
|
|
||||||
* Add a new command line option '--default-script=FILE' or '-dT FILE'
|
* Add a new command line option '--default-script=FILE' or '-dT FILE'
|
||||||
which specifies a replacement for the built in, default linker
|
which specifies a replacement for the built in, default linker
|
||||||
script.
|
script.
|
||||||
|
@ -614,21 +614,24 @@ of the function. By default, the linker uses @code{_init} as the
|
|||||||
function to call.
|
function to call.
|
||||||
|
|
||||||
@cindex archive files, from cmd line
|
@cindex archive files, from cmd line
|
||||||
@kindex -l@var{archive}
|
@kindex -l@var{namespec}
|
||||||
@kindex --library=@var{archive}
|
@kindex --library=@var{namespec}
|
||||||
@item -l@var{archive}
|
@item -l@var{namespec}
|
||||||
@itemx --library=@var{archive}
|
@itemx --library=@var{namespec}
|
||||||
Add archive file @var{archive} to the list of files to link. This
|
Add the archive or object file specified by @var{namespec} to the
|
||||||
option may be used any number of times. @command{ld} will search its
|
list of files to link. This option may be used any number of times.
|
||||||
path-list for occurrences of @code{lib@var{archive}.a} for every
|
If @var{namespec} is of the form @file{:@var{filename}}, @command{ld}
|
||||||
@var{archive} specified.
|
will search the library path for a file called @var{filename}, otherise it
|
||||||
|
will search the library path for a file called @file{lib@var{namespec}.a}.
|
||||||
|
|
||||||
On systems which support shared libraries, @command{ld} may also search for
|
On systems which support shared libraries, @command{ld} may also search for
|
||||||
libraries with extensions other than @code{.a}. Specifically, on ELF
|
files other than @file{lib@var{namespec}.a}. Specifically, on ELF
|
||||||
and SunOS systems, @command{ld} will search a directory for a library with
|
and SunOS systems, @command{ld} will search a directory for a library
|
||||||
an extension of @code{.so} before searching for one with an extension of
|
called @file{lib@var{namespec}.so} before searching for one called
|
||||||
@code{.a}. By convention, a @code{.so} extension indicates a shared
|
@file{lib@var{namespec}.a}. (By convention, a @code{.so} extension
|
||||||
library.
|
indicates a shared library.) Note that this behavior does not apply
|
||||||
|
to @file{:@var{filename}}, which always specifies a file called
|
||||||
|
@var{filename}.
|
||||||
|
|
||||||
The linker will search an archive only once, at the location where it is
|
The linker will search an archive only once, at the location where it is
|
||||||
specified on the command line. If the archive defines a symbol which
|
specified on the command line. If the archive defines a symbol which
|
||||||
|
@ -913,6 +913,14 @@ new_afile (const char *name,
|
|||||||
lang_has_input_file = TRUE;
|
lang_has_input_file = TRUE;
|
||||||
p->target = target;
|
p->target = target;
|
||||||
p->sysrooted = FALSE;
|
p->sysrooted = FALSE;
|
||||||
|
|
||||||
|
if (file_type == lang_input_file_is_l_enum
|
||||||
|
&& name[0] == ':' && name[1] != '\0')
|
||||||
|
{
|
||||||
|
file_type = lang_input_file_is_search_file_enum;
|
||||||
|
name = name + 1;
|
||||||
|
}
|
||||||
|
|
||||||
switch (file_type)
|
switch (file_type)
|
||||||
{
|
{
|
||||||
case lang_input_file_is_symbols_only_enum:
|
case lang_input_file_is_symbols_only_enum:
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2007-03-29 Richard Sandiford <richard@codesourcery.com>
|
||||||
|
|
||||||
|
* ld-libs/lib-1.s, ld-libs/lib-2.s, ld-libs/lib-2.d,
|
||||||
|
* ld-libs/libs.exp: New files.
|
||||||
|
|
||||||
2007-03-28 Richard Sandiford <richard@codesourcery.com>
|
2007-03-28 Richard Sandiford <richard@codesourcery.com>
|
||||||
|
|
||||||
* ld-vxworks/rpath-1.s, ld-vxworks/rpath-1.d,
|
* ld-vxworks/rpath-1.s, ld-vxworks/rpath-1.d,
|
||||||
|
2
ld/testsuite/ld-libs/lib-1.s
Normal file
2
ld/testsuite/ld-libs/lib-1.s
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
.globl foo
|
||||||
|
.set foo,0x2000
|
4
ld/testsuite/ld-libs/lib-2.d
Normal file
4
ld/testsuite/ld-libs/lib-2.d
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#...
|
||||||
|
0+1000 A bar
|
||||||
|
0+2000 A foo
|
||||||
|
#pass
|
2
ld/testsuite/ld-libs/lib-2.s
Normal file
2
ld/testsuite/ld-libs/lib-2.s
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
.globl bar
|
||||||
|
.set bar,0x1000
|
9
ld/testsuite/ld-libs/libs.exp
Normal file
9
ld/testsuite/ld-libs/libs.exp
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
file mkdir tmpdir/libtmp
|
||||||
|
|
||||||
|
# Check that -l: works. The first "test" just creates an object file
|
||||||
|
# for the second one.
|
||||||
|
run_ld_link_tests {
|
||||||
|
{"-l: test (preparation)" "-r" "" {lib-1.s} {} "libtmp/anobject"}
|
||||||
|
{"-l: test" "-r -Ltmpdir/libtmp -l:anobject" "" {lib-2.s}
|
||||||
|
{{nm -C lib-2.d}} "lib-2"}
|
||||||
|
}
|
Reference in New Issue
Block a user