Add a test for weak alias
[deliverable/binutils-gdb.git] / ld / testplug.c
index 9e1561c40fd0b73342d634774a032afd9c61d45a..3be1ed4142d435c2089b045426fb37bd06b0c5b7 100644 (file)
@@ -23,7 +23,6 @@
 #include "plugin-api.h"
 /* For ARRAY_SIZE macro only - we don't link the library itself.  */
 #include "libiberty.h"
-#include "filenames.h"
 
 extern enum ld_plugin_status onload (struct ld_plugin_tv *tv);
 static enum ld_plugin_status onclaim_file (const struct ld_plugin_input_file *file,
@@ -84,6 +83,7 @@ static const tag_name_t tag_names[] =
   ADDENTRY(LDPT_REGISTER_CLEANUP_HOOK),
   ADDENTRY(LDPT_ADD_SYMBOLS),
   ADDENTRY(LDPT_GET_SYMBOLS),
+  ADDENTRY(LDPT_GET_SYMBOLS_V2),
   ADDENTRY(LDPT_ADD_INPUT_FILE),
   ADDENTRY(LDPT_MESSAGE),
   ADDENTRY(LDPT_GET_INPUT_FILE),
@@ -100,6 +100,7 @@ static ld_plugin_register_all_symbols_read tv_register_all_symbols_read = 0;
 static ld_plugin_register_cleanup tv_register_cleanup = 0;
 static ld_plugin_add_symbols tv_add_symbols = 0;
 static ld_plugin_get_symbols tv_get_symbols = 0;
+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;
@@ -362,6 +363,7 @@ dump_tv_tag (size_t n, struct ld_plugin_tv *tv)
       case LDPT_REGISTER_CLEANUP_HOOK:
       case LDPT_ADD_SYMBOLS:
       case LDPT_GET_SYMBOLS:
+      case LDPT_GET_SYMBOLS_V2:
       case LDPT_ADD_INPUT_FILE:
       case LDPT_MESSAGE:
       case LDPT_GET_INPUT_FILE:
@@ -419,6 +421,9 @@ parse_tv_tag (struct ld_plugin_tv *tv)
       case LDPT_GET_SYMBOLS:
        SETVAR(tv_get_symbols);
        break;
+      case LDPT_GET_SYMBOLS_V2:
+       tv_get_symbols_v2 = tv->tv_u.tv_get_symbols;
+       break;
       case LDPT_ADD_INPUT_FILE:
        SETVAR(tv_add_input_file);
        break;
@@ -520,7 +525,7 @@ onclaim_file (const struct ld_plugin_input_file *file, int *claimed)
   claim_file_t *claimfile = claimfiles_list;
   while (claimfile)
     {
-      if (!filename_cmp (file->name, claimfile->file.name))
+      if (!strcmp (file->name, claimfile->file.name))
        break;
       claimfile = claimfile->next;
     }
@@ -563,6 +568,7 @@ onall_symbols_read (void)
       "LDPR_RESOLVED_IR",
       "LDPR_RESOLVED_EXEC",
       "LDPR_RESOLVED_DYN",
+      "LDPR_PREVAILING_DEF_IRONLY_EXP",
     };
   claim_file_t *claimfile = dumpresolutions ? claimfiles_list : NULL;
   add_file_t *addfile = addfiles_list;
@@ -571,12 +577,12 @@ onall_symbols_read (void)
     {
       enum ld_plugin_status rv;
       int n;
-      if (claimfile->n_syms_used && !tv_get_symbols)
+      if (claimfile->n_syms_used && !tv_get_symbols_v2)
        return LDPS_ERR;
       else if (!claimfile->n_syms_used)
         continue;
-      rv = tv_get_symbols (claimfile->file.handle, claimfile->n_syms_used,
-                               claimfile->symbols);
+      rv = tv_get_symbols_v2 (claimfile->file.handle, claimfile->n_syms_used,
+                             claimfile->symbols);
       if (rv != LDPS_OK)
        return rv;
       for (n = 0; n < claimfile->n_syms_used; n++)
This page took 0.023662 seconds and 4 git commands to generate.