summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-01-28 10:27:31 -0800
committerH.J. Lu <hjl.tools@gmail.com>2015-01-28 10:27:31 -0800
commit15f7a26b0f42be812b0471ec09d91bad696fe26e (patch)
treefe3f56e6de16024a283713d428fd56c794ec952d
parent61b86cb1948c47e5e6c49b25f33d11ac002c27cf (diff)
downloadbinutils-gdb-15f7a26b0f42be812b0471ec09d91bad696fe26e.tar.gz
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.
-rw-r--r--ld/ChangeLog11
-rw-r--r--ld/plugin.c13
-rw-r--r--ld/testplug.c6
-rw-r--r--ld/testsuite/ChangeLog15
-rw-r--r--ld/testsuite/ld-plugin/plugin-1.d1
-rw-r--r--ld/testsuite/ld-plugin/plugin-10.d1
-rw-r--r--ld/testsuite/ld-plugin/plugin-11.d1
-rw-r--r--ld/testsuite/ld-plugin/plugin-2.d1
-rw-r--r--ld/testsuite/ld-plugin/plugin-3.d1
-rw-r--r--ld/testsuite/ld-plugin/plugin-4.d1
-rw-r--r--ld/testsuite/ld-plugin/plugin-5.d1
-rw-r--r--ld/testsuite/ld-plugin/plugin-6.d1
-rw-r--r--ld/testsuite/ld-plugin/plugin-7.d1
-rw-r--r--ld/testsuite/ld-plugin/plugin-8.d1
-rw-r--r--ld/testsuite/ld-plugin/plugin-9.d1
15 files changed, 56 insertions, 0 deletions
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 <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>
* 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 <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>
* 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.*