diff options
author | Alan Modra <amodra@gmail.com> | 2014-07-03 16:32:45 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2014-07-03 17:05:42 +0930 |
commit | d215621ebe5a6b60dff2e60c788a0f761e3cb5bd (patch) | |
tree | eb5c641bf87b201f435e3cc6d0d753a7410ceab0 /ld/testsuite/ld-elf/pr17068e.s | |
parent | fd48cee0093fef69608959d0f577c0c81fe24eec (diff) | |
download | gdb-d215621ebe5a6b60dff2e60c788a0f761e3cb5bd.zip gdb-d215621ebe5a6b60dff2e60c788a0f761e3cb5bd.tar.gz gdb-d215621ebe5a6b60dff2e60c788a0f761e3cb5bd.tar.bz2 |
Reload --as-needed libraries inside groups
When a shared library appears within --start-group/--end-group ld may
only discover a need for loading the library on the second or
subsequent pass over archive libraries, as more objects are extracted.
ld/
PR 17068
* ldlang.c (load_symbols): Always check flags.reload.
(open_input_bfds): Always reload --as-needed shared libraries,
not just when rescanning.
* ldlang.h (struct lang_input_statement_flags): Update reload comment.
* plugin.c (plugin_should_reload): Assume shared library arg.
* plugin.h (plugin_should_reload): Update comment.
ld/testsuite
* ld-elf/pr17068.s: New.
* ld-elf/pr17068a.s: New.
* ld-elf/pr17068b.s: New.
* ld-elf/pr17068c.s: New.
* ld-elf/pr17068d.s: New.
* ld-elf/pr17068e.s: New.
* ld-elf/pr17068ez.s: New.
* ld-elf/elf.exp: Run new test.
Diffstat (limited to 'ld/testsuite/ld-elf/pr17068e.s')
-rw-r--r-- | ld/testsuite/ld-elf/pr17068e.s | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ld/testsuite/ld-elf/pr17068e.s b/ld/testsuite/ld-elf/pr17068e.s new file mode 100644 index 0000000..095eb89 --- /dev/null +++ b/ld/testsuite/ld-elf/pr17068e.s @@ -0,0 +1,3 @@ + .data + .globl e +e: |