The initial support for LDPT_GET_VIEW
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 28 Jan 2015 18:27:31 +0000 (10:27 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 28 Jan 2015 18:27:31 +0000 (10:27 -0800)
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.

15 files changed:
ld/ChangeLog
ld/plugin.c
ld/testplug.c
ld/testsuite/ChangeLog
ld/testsuite/ld-plugin/plugin-1.d
ld/testsuite/ld-plugin/plugin-10.d
ld/testsuite/ld-plugin/plugin-11.d
ld/testsuite/ld-plugin/plugin-2.d
ld/testsuite/ld-plugin/plugin-3.d
ld/testsuite/ld-plugin/plugin-4.d
ld/testsuite/ld-plugin/plugin-5.d
ld/testsuite/ld-plugin/plugin-6.d
ld/testsuite/ld-plugin/plugin-7.d
ld/testsuite/ld-plugin/plugin-8.d
ld/testsuite/ld-plugin/plugin-9.d

index 9cab995187df05dcef97fb5d937507ff735b973e..9152e18a348a8c0862ebef208590ce982b8814a8 100644 (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>
 
        * emulparams/elf64ppc.sh (INITIAL_READWRITE_SECTIONS): Define.
index f6f85ba4cd249355dd494c27eab3a6d59a9c52b8..c6df096c20dc71eb217ee62b520808ba2d65d4a3 100644 (file)
@@ -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;
index 3059e155e7b0d1c975e4f160658e8919df8856ad..dce787aef4472d4a23e285ceff3437eeec89d2b2 100644 (file)
@@ -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;
index 62c34b00d3db4aa67584004bd0bf1328e280a097..c5effcd4ba5b6180297f768098909c97839e5b98 100644 (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>
 
        * ld-elf/pr16322.s (p1): Rename to px1.
index 49229f441594815d73828ceb446abcee40642ec3..6aae4cdc3835157b524b24f15e78b382978e3195 100644 (file)
@@ -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.*
index 37c9d9d03b0165adc7a1a2a7e3a4fa18185b01e3..3818bf7bb2fa935d7dc6a2237bfa12548ea5c445 100644 (file)
@@ -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.*
index b9204298188299c25e52451d36e7461a8b27dcd4..10b80288606a52b940f07b8eb7662c8b2410b91d 100644 (file)
@@ -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.*
index d0190a7569724086ff9dd9e53ae0ff631fa94df9..91822c1f8676d22b08156a1bd5e8417342642957 100644 (file)
@@ -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.*
index a4b6a7fddc3c3e4846039795f0a74f796bc6621b..f030da467b344c3c280c4b9130005686cba4d6ea 100644 (file)
@@ -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.*
index 9f25fc6828f37ea3bcaf3544ac4bb1d27484462c..b240eb221e06cc4b337845bec12a3f5e339f81f3 100644 (file)
@@ -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.*
index c0c55c272ab8724d78315ff0a625afb1b97f7c6f..52abaf2db9d2579731cb6950fd05a83a0f3a4f51 100644 (file)
@@ -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.*
index f3e13fe63a294bf92f0783860fb4f9de85ea9975..07e54c6c2140e72c28bfdbee2a7571d17c0e54d6 100644 (file)
@@ -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.*
index 357a89b6321762bfa7ae6a2ad9b3c122765dbf0d..28a7036c720456395e2c335719459bcd32ad346f 100644 (file)
@@ -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.*
index 72c86c6ba36366997ffb2c19dbcf68409c27c58d..8170b542c930dc2c7f89a040ceb305c546bcceea 100644 (file)
@@ -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.*
index c2ebc6b52a5817c2da525295ccbd596f77f31d32..1155f4f2e338e33e7493f79411f9b0564f346f21 100644 (file)
@@ -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.*