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.
This commit is contained in:
H.J. Lu 2015-01-28 10:27:31 -08:00
parent 61b86cb194
commit 15f7a26b0f
15 changed files with 56 additions and 0 deletions

View File

@ -1,3 +1,14 @@
2015-01-28 H.J. Lu <hongjiu.lu@intel.com>
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 <amodra@gmail.com> 2015-01-28 Alan Modra <amodra@gmail.com>
* emulparams/elf64ppc.sh (INITIAL_READWRITE_SECTIONS): Define. * emulparams/elf64ppc.sh (INITIAL_READWRITE_SECTIONS): Define.

View File

@ -114,6 +114,7 @@ static const enum ld_plugin_tag tv_header_tags[] =
LDPT_REGISTER_CLEANUP_HOOK, LDPT_REGISTER_CLEANUP_HOOK,
LDPT_ADD_SYMBOLS, LDPT_ADD_SYMBOLS,
LDPT_GET_INPUT_FILE, LDPT_GET_INPUT_FILE,
LDPT_GET_VIEW,
LDPT_RELEASE_INPUT_FILE, LDPT_RELEASE_INPUT_FILE,
LDPT_GET_SYMBOLS, LDPT_GET_SYMBOLS,
LDPT_GET_SYMBOLS_V2, LDPT_GET_SYMBOLS_V2,
@ -443,6 +444,15 @@ get_input_file (const void *handle ATTRIBUTE_UNUSED,
return LDPS_ERR; 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. */ /* Release the input file. */
static enum ld_plugin_status static enum ld_plugin_status
release_input_file (const void *handle ATTRIBUTE_UNUSED) 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: case LDPT_GET_INPUT_FILE:
TVU(get_input_file) = get_input_file; TVU(get_input_file) = get_input_file;
break; break;
case LDPT_GET_VIEW:
TVU(get_view) = get_view;
break;
case LDPT_RELEASE_INPUT_FILE: case LDPT_RELEASE_INPUT_FILE:
TVU(release_input_file) = release_input_file; TVU(release_input_file) = release_input_file;
break; break;

View File

@ -87,6 +87,7 @@ static const tag_name_t tag_names[] =
ADDENTRY(LDPT_ADD_INPUT_FILE), ADDENTRY(LDPT_ADD_INPUT_FILE),
ADDENTRY(LDPT_MESSAGE), ADDENTRY(LDPT_MESSAGE),
ADDENTRY(LDPT_GET_INPUT_FILE), ADDENTRY(LDPT_GET_INPUT_FILE),
ADDENTRY(LDPT_GET_VIEW),
ADDENTRY(LDPT_RELEASE_INPUT_FILE), ADDENTRY(LDPT_RELEASE_INPUT_FILE),
ADDENTRY(LDPT_ADD_INPUT_LIBRARY), ADDENTRY(LDPT_ADD_INPUT_LIBRARY),
ADDENTRY(LDPT_OUTPUT_NAME), 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_add_input_file tv_add_input_file = 0;
static ld_plugin_message tv_message = 0; static ld_plugin_message tv_message = 0;
static ld_plugin_get_input_file tv_get_input_file = 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_release_input_file tv_release_input_file = 0;
static ld_plugin_add_input_library tv_add_input_library = 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; 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_ADD_INPUT_FILE:
case LDPT_MESSAGE: case LDPT_MESSAGE:
case LDPT_GET_INPUT_FILE: case LDPT_GET_INPUT_FILE:
case LDPT_GET_VIEW:
case LDPT_RELEASE_INPUT_FILE: case LDPT_RELEASE_INPUT_FILE:
case LDPT_ADD_INPUT_LIBRARY: case LDPT_ADD_INPUT_LIBRARY:
case LDPT_SET_EXTRA_LIBRARY_PATH: case LDPT_SET_EXTRA_LIBRARY_PATH:
@ -433,6 +436,9 @@ parse_tv_tag (struct ld_plugin_tv *tv)
case LDPT_GET_INPUT_FILE: case LDPT_GET_INPUT_FILE:
SETVAR(tv_get_input_file); SETVAR(tv_get_input_file);
break; break;
case LDPT_GET_VIEW:
SETVAR(tv_get_view);
break;
case LDPT_RELEASE_INPUT_FILE: case LDPT_RELEASE_INPUT_FILE:
SETVAR(tv_release_input_file); SETVAR(tv_release_input_file);
break; break;

View File

@ -1,3 +1,18 @@
2015-01-28 H.J. Lu <hongjiu.lu@intel.com>
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 <jbeulich@suse.com> 2015-01-28 Jan Beulich <jbeulich@suse.com>
* ld-elf/pr16322.s (p1): Rename to px1. * ld-elf/pr16322.s (p1): Rename to px1.

View File

@ -9,6 +9,7 @@ Hello from testplugin.
.*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.*
.*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.*
.*: LDPT_GET_INPUT_FILE func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.*
.*: LDPT_GET_VIEW func@0x.*
.*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.*
.*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS func@0x.*
.*: LDPT_GET_SYMBOLS_V2 func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.*

View File

@ -9,6 +9,7 @@ Hello from testplugin.
.*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.*
.*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.*
.*: LDPT_GET_INPUT_FILE func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.*
.*: LDPT_GET_VIEW func@0x.*
.*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.*
.*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS func@0x.*
.*: LDPT_GET_SYMBOLS_V2 func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.*

View File

@ -9,6 +9,7 @@ Hello from testplugin.
.*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.*
.*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.*
.*: LDPT_GET_INPUT_FILE func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.*
.*: LDPT_GET_VIEW func@0x.*
.*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.*
.*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS func@0x.*
.*: LDPT_GET_SYMBOLS_V2 func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.*

View File

@ -9,6 +9,7 @@ Hello from testplugin.
.*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.*
.*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.*
.*: LDPT_GET_INPUT_FILE func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.*
.*: LDPT_GET_VIEW func@0x.*
.*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.*
.*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS func@0x.*
.*: LDPT_GET_SYMBOLS_V2 func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.*

View File

@ -9,6 +9,7 @@ Hello from testplugin.
.*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.*
.*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.*
.*: LDPT_GET_INPUT_FILE func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.*
.*: LDPT_GET_VIEW func@0x.*
.*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.*
.*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS func@0x.*
.*: LDPT_GET_SYMBOLS_V2 func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.*

View File

@ -9,6 +9,7 @@ Hello from testplugin.
.*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.*
.*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.*
.*: LDPT_GET_INPUT_FILE func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.*
.*: LDPT_GET_VIEW func@0x.*
.*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.*
.*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS func@0x.*
.*: LDPT_GET_SYMBOLS_V2 func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.*

View File

@ -9,6 +9,7 @@ Hello from testplugin.
.*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.*
.*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.*
.*: LDPT_GET_INPUT_FILE func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.*
.*: LDPT_GET_VIEW func@0x.*
.*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.*
.*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS func@0x.*
.*: LDPT_GET_SYMBOLS_V2 func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.*

View File

@ -9,6 +9,7 @@ Hello from testplugin.
.*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.*
.*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.*
.*: LDPT_GET_INPUT_FILE func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.*
.*: LDPT_GET_VIEW func@0x.*
.*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.*
.*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS func@0x.*
.*: LDPT_GET_SYMBOLS_V2 func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.*

View File

@ -9,6 +9,7 @@ Hello from testplugin.
.*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.*
.*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.*
.*: LDPT_GET_INPUT_FILE func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.*
.*: LDPT_GET_VIEW func@0x.*
.*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.*
.*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS func@0x.*
.*: LDPT_GET_SYMBOLS_V2 func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.*

View File

@ -9,6 +9,7 @@ Hello from testplugin.
.*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.*
.*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.*
.*: LDPT_GET_INPUT_FILE func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.*
.*: LDPT_GET_VIEW func@0x.*
.*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.*
.*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS func@0x.*
.*: LDPT_GET_SYMBOLS_V2 func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.*

View File

@ -9,6 +9,7 @@ Hello from testplugin.
.*: LDPT_REGISTER_CLEANUP_HOOK func@0x.* .*: LDPT_REGISTER_CLEANUP_HOOK func@0x.*
.*: LDPT_ADD_SYMBOLS func@0x.* .*: LDPT_ADD_SYMBOLS func@0x.*
.*: LDPT_GET_INPUT_FILE func@0x.* .*: LDPT_GET_INPUT_FILE func@0x.*
.*: LDPT_GET_VIEW func@0x.*
.*: LDPT_RELEASE_INPUT_FILE func@0x.* .*: LDPT_RELEASE_INPUT_FILE func@0x.*
.*: LDPT_GET_SYMBOLS func@0x.* .*: LDPT_GET_SYMBOLS func@0x.*
.*: LDPT_GET_SYMBOLS_V2 func@0x.* .*: LDPT_GET_SYMBOLS_V2 func@0x.*