From 15f7a26b0f42be812b0471ec09d91bad696fe26e Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 28 Jan 2015 10:27:31 -0800 Subject: [PATCH] The initial support for LDPT_GET_VIEW This patch adds the initial support for LDPT_GET_VIEW. ld/ PR ld/17878 * plugin.c (tv_header_tags(): Add LDPT_GET_VIEW. (get_view): New function. (set_tv_header): Handle LDPT_GET_VIEW. * testplug.c (tag_names): Add LDPT_GET_VIEW. (tv_get_view): New. (dump_tv_tag): Handle LDPT_GET_VIEW. (parse_tv_tag): Likewise. ld/testsuite/ PR ld/17878 * ld-plugin/plugin-1.d: Add LDPT_GET_VIEW. * ld-plugin/plugin-10.d: Likewise. * ld-plugin/plugin-11.d: Likewise. * ld-plugin/plugin-2.d: Likewise. * ld-plugin/plugin-3.d: Likewise. * ld-plugin/plugin-4.d: Likewise. * ld-plugin/plugin-5.d: Likewise. * ld-plugin/plugin-6.d: Likewise. * ld-plugin/plugin-7.d: Likewise. * ld-plugin/plugin-8.d: Likewise. * ld-plugin/plugin-9.d: Likewise. --- ld/ChangeLog | 11 +++++++++++ ld/plugin.c | 13 +++++++++++++ ld/testplug.c | 6 ++++++ ld/testsuite/ChangeLog | 15 +++++++++++++++ ld/testsuite/ld-plugin/plugin-1.d | 1 + ld/testsuite/ld-plugin/plugin-10.d | 1 + ld/testsuite/ld-plugin/plugin-11.d | 1 + ld/testsuite/ld-plugin/plugin-2.d | 1 + ld/testsuite/ld-plugin/plugin-3.d | 1 + ld/testsuite/ld-plugin/plugin-4.d | 1 + ld/testsuite/ld-plugin/plugin-5.d | 1 + ld/testsuite/ld-plugin/plugin-6.d | 1 + ld/testsuite/ld-plugin/plugin-7.d | 1 + ld/testsuite/ld-plugin/plugin-8.d | 1 + ld/testsuite/ld-plugin/plugin-9.d | 1 + 15 files changed, 56 insertions(+) diff --git a/ld/ChangeLog b/ld/ChangeLog index 9cab995187d..9152e18a348 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,14 @@ +2015-01-28 H.J. Lu + + PR ld/17878 + * plugin.c (tv_header_tags(): Add LDPT_GET_VIEW. + (get_view): New function. + (set_tv_header): Handle LDPT_GET_VIEW. + * testplug.c (tag_names): Add LDPT_GET_VIEW. + (tv_get_view): New. + (dump_tv_tag): Handle LDPT_GET_VIEW. + (parse_tv_tag): Likewise. + 2015-01-28 Alan Modra * emulparams/elf64ppc.sh (INITIAL_READWRITE_SECTIONS): Define. diff --git a/ld/plugin.c b/ld/plugin.c index f6f85ba4cd2..c6df096c20d 100644 --- a/ld/plugin.c +++ b/ld/plugin.c @@ -114,6 +114,7 @@ static const enum ld_plugin_tag tv_header_tags[] = LDPT_REGISTER_CLEANUP_HOOK, LDPT_ADD_SYMBOLS, LDPT_GET_INPUT_FILE, + LDPT_GET_VIEW, LDPT_RELEASE_INPUT_FILE, LDPT_GET_SYMBOLS, LDPT_GET_SYMBOLS_V2, @@ -443,6 +444,15 @@ get_input_file (const void *handle ATTRIBUTE_UNUSED, return LDPS_ERR; } +/* Get view of the input file. */ +static enum ld_plugin_status +get_view (const void *handle ATTRIBUTE_UNUSED, + const void **viewp ATTRIBUTE_UNUSED) +{ + ASSERT (called_plugin); + return LDPS_ERR; +} + /* Release the input file. */ static enum ld_plugin_status release_input_file (const void *handle ATTRIBUTE_UNUSED) @@ -731,6 +741,9 @@ set_tv_header (struct ld_plugin_tv *tv) case LDPT_GET_INPUT_FILE: TVU(get_input_file) = get_input_file; break; + case LDPT_GET_VIEW: + TVU(get_view) = get_view; + break; case LDPT_RELEASE_INPUT_FILE: TVU(release_input_file) = release_input_file; break; diff --git a/ld/testplug.c b/ld/testplug.c index 3059e155e7b..dce787aef44 100644 --- a/ld/testplug.c +++ b/ld/testplug.c @@ -87,6 +87,7 @@ static const tag_name_t tag_names[] = ADDENTRY(LDPT_ADD_INPUT_FILE), ADDENTRY(LDPT_MESSAGE), ADDENTRY(LDPT_GET_INPUT_FILE), + ADDENTRY(LDPT_GET_VIEW), ADDENTRY(LDPT_RELEASE_INPUT_FILE), ADDENTRY(LDPT_ADD_INPUT_LIBRARY), ADDENTRY(LDPT_OUTPUT_NAME), @@ -104,6 +105,7 @@ static ld_plugin_get_symbols tv_get_symbols_v2 = 0; static ld_plugin_add_input_file tv_add_input_file = 0; static ld_plugin_message tv_message = 0; static ld_plugin_get_input_file tv_get_input_file = 0; +static ld_plugin_get_view tv_get_view = 0; static ld_plugin_release_input_file tv_release_input_file = 0; static ld_plugin_add_input_library tv_add_input_library = 0; static ld_plugin_set_extra_library_path tv_set_extra_library_path = 0; @@ -367,6 +369,7 @@ dump_tv_tag (size_t n, struct ld_plugin_tv *tv) case LDPT_ADD_INPUT_FILE: case LDPT_MESSAGE: case LDPT_GET_INPUT_FILE: + case LDPT_GET_VIEW: case LDPT_RELEASE_INPUT_FILE: case LDPT_ADD_INPUT_LIBRARY: case LDPT_SET_EXTRA_LIBRARY_PATH: @@ -433,6 +436,9 @@ parse_tv_tag (struct ld_plugin_tv *tv) case LDPT_GET_INPUT_FILE: SETVAR(tv_get_input_file); break; + case LDPT_GET_VIEW: + SETVAR(tv_get_view); + break; case LDPT_RELEASE_INPUT_FILE: SETVAR(tv_release_input_file); break; diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 62c34b00d3d..c5effcd4ba5 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,18 @@ +2015-01-28 H.J. Lu + + PR ld/17878 + * ld-plugin/plugin-1.d: Add LDPT_GET_VIEW. + * ld-plugin/plugin-10.d: Likewise. + * ld-plugin/plugin-11.d: Likewise. + * ld-plugin/plugin-2.d: Likewise. + * ld-plugin/plugin-3.d: Likewise. + * ld-plugin/plugin-4.d: Likewise. + * ld-plugin/plugin-5.d: Likewise. + * ld-plugin/plugin-6.d: Likewise. + * ld-plugin/plugin-7.d: Likewise. + * ld-plugin/plugin-8.d: Likewise. + * ld-plugin/plugin-9.d: Likewise. + 2015-01-28 Jan Beulich * ld-elf/pr16322.s (p1): Rename to px1. diff --git a/ld/testsuite/ld-plugin/plugin-1.d b/ld/testsuite/ld-plugin/plugin-1.d index 49229f44159..6aae4cdc383 100644 --- a/ld/testsuite/ld-plugin/plugin-1.d +++ b/ld/testsuite/ld-plugin/plugin-1.d @@ -9,6 +9,7 @@ Hello from testplugin. .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.* +.*: LDPT_GET_VIEW func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.* diff --git a/ld/testsuite/ld-plugin/plugin-10.d b/ld/testsuite/ld-plugin/plugin-10.d index 37c9d9d03b0..3818bf7bb2f 100644 --- a/ld/testsuite/ld-plugin/plugin-10.d +++ b/ld/testsuite/ld-plugin/plugin-10.d @@ -9,6 +9,7 @@ Hello from testplugin. .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.* +.*: LDPT_GET_VIEW func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.* diff --git a/ld/testsuite/ld-plugin/plugin-11.d b/ld/testsuite/ld-plugin/plugin-11.d index b9204298188..10b80288606 100644 --- a/ld/testsuite/ld-plugin/plugin-11.d +++ b/ld/testsuite/ld-plugin/plugin-11.d @@ -9,6 +9,7 @@ Hello from testplugin. .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.* +.*: LDPT_GET_VIEW func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.* diff --git a/ld/testsuite/ld-plugin/plugin-2.d b/ld/testsuite/ld-plugin/plugin-2.d index d0190a75697..91822c1f867 100644 --- a/ld/testsuite/ld-plugin/plugin-2.d +++ b/ld/testsuite/ld-plugin/plugin-2.d @@ -9,6 +9,7 @@ Hello from testplugin. .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.* +.*: LDPT_GET_VIEW func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.* diff --git a/ld/testsuite/ld-plugin/plugin-3.d b/ld/testsuite/ld-plugin/plugin-3.d index a4b6a7fddc3..f030da467b3 100644 --- a/ld/testsuite/ld-plugin/plugin-3.d +++ b/ld/testsuite/ld-plugin/plugin-3.d @@ -9,6 +9,7 @@ Hello from testplugin. .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.* +.*: LDPT_GET_VIEW func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.* diff --git a/ld/testsuite/ld-plugin/plugin-4.d b/ld/testsuite/ld-plugin/plugin-4.d index 9f25fc6828f..b240eb221e0 100644 --- a/ld/testsuite/ld-plugin/plugin-4.d +++ b/ld/testsuite/ld-plugin/plugin-4.d @@ -9,6 +9,7 @@ Hello from testplugin. .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.* +.*: LDPT_GET_VIEW func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.* diff --git a/ld/testsuite/ld-plugin/plugin-5.d b/ld/testsuite/ld-plugin/plugin-5.d index c0c55c272ab..52abaf2db9d 100644 --- a/ld/testsuite/ld-plugin/plugin-5.d +++ b/ld/testsuite/ld-plugin/plugin-5.d @@ -9,6 +9,7 @@ Hello from testplugin. .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.* +.*: LDPT_GET_VIEW func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.* diff --git a/ld/testsuite/ld-plugin/plugin-6.d b/ld/testsuite/ld-plugin/plugin-6.d index f3e13fe63a2..07e54c6c214 100644 --- a/ld/testsuite/ld-plugin/plugin-6.d +++ b/ld/testsuite/ld-plugin/plugin-6.d @@ -9,6 +9,7 @@ Hello from testplugin. .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.* +.*: LDPT_GET_VIEW func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.* diff --git a/ld/testsuite/ld-plugin/plugin-7.d b/ld/testsuite/ld-plugin/plugin-7.d index 357a89b6321..28a7036c720 100644 --- a/ld/testsuite/ld-plugin/plugin-7.d +++ b/ld/testsuite/ld-plugin/plugin-7.d @@ -9,6 +9,7 @@ Hello from testplugin. .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.* +.*: LDPT_GET_VIEW func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.* diff --git a/ld/testsuite/ld-plugin/plugin-8.d b/ld/testsuite/ld-plugin/plugin-8.d index 72c86c6ba36..8170b542c93 100644 --- a/ld/testsuite/ld-plugin/plugin-8.d +++ b/ld/testsuite/ld-plugin/plugin-8.d @@ -9,6 +9,7 @@ Hello from testplugin. .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.* +.*: LDPT_GET_VIEW func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.* diff --git a/ld/testsuite/ld-plugin/plugin-9.d b/ld/testsuite/ld-plugin/plugin-9.d index c2ebc6b52a5..1155f4f2e33 100644 --- a/ld/testsuite/ld-plugin/plugin-9.d +++ b/ld/testsuite/ld-plugin/plugin-9.d @@ -9,6 +9,7 @@ Hello from testplugin. .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.* +.*: LDPT_GET_VIEW func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.* -- 2.30.2