include/opcode/
[deliverable/binutils-gdb.git] / ld / plugin.c
index 2515888878d083744925ef218eeaf5b164702580..8902ef4ea36b304afecad75d924ccf7f636f2816 100644 (file)
@@ -697,7 +697,9 @@ set_tv_header (struct ld_plugin_tv *tv)
        case LDPT_LINKER_OUTPUT:
          TVU(val) = (link_info.relocatable
                      ? LDPO_REL
-                     : link_info.executable ? LDPO_EXEC : LDPO_DYN);
+                     : (link_info.executable
+                        ? (link_info.pie ? LDPO_PIE : LDPO_EXEC)
+                        : LDPO_DYN));
          break;
        case LDPT_OUTPUT_NAME:
          TVU(string) = output_filename;
@@ -798,9 +800,11 @@ plugin_load_plugins (void)
   while (curplug)
     {
       enum ld_plugin_status rv;
-      ld_plugin_onload onloadfn = dlsym (curplug->dlhandle, "onload");
+      ld_plugin_onload onloadfn;
+
+      onloadfn = (ld_plugin_onload) dlsym (curplug->dlhandle, "onload");
       if (!onloadfn)
-       onloadfn = dlsym (curplug->dlhandle, "_onload");
+       onloadfn = (ld_plugin_onload) dlsym (curplug->dlhandle, "_onload");
       if (!onloadfn)
        return set_plugin_error (curplug->name);
       set_tv_plugin_args (curplug, &my_tv[tv_header_size]);
This page took 0.023672 seconds and 4 git commands to generate.