Handle link_info.pie in ld plugin
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 14 Jun 2012 23:44:38 +0000 (23:44 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 14 Jun 2012 23:44:38 +0000 (23:44 +0000)
* plugin.c (set_tv_header): Handle link_info.pie.

ld/ChangeLog
ld/plugin.c

index eb9bfbd9233c1846c797713dc89f74413d8bf456..73a852f66bd6986d93ff3d54ddf0f270fc60e7eb 100644 (file)
@@ -1,3 +1,7 @@
+2012-06-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * plugin.c (set_tv_header): Handle link_info.pie.
+
 2012-06-11  Alan Modra  <amodra@gmail.com>
 
        PR ld/14215
index 2515888878d083744925ef218eeaf5b164702580..7e3d2a33ba87075efe5fdd859171b803a7f1e8cd 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;