]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[PR87833] x86: Put -fPIC and -shared the last to create offload image
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 11 Nov 2019 08:39:10 +0000 (00:39 -0800)
committerThomas Schwinge <tschwinge@gcc.gnu.org>
Mon, 11 Nov 2019 08:39:10 +0000 (09:39 +0100)
On x86, since -fPIC and -shared should be used to create offload image,
we put them the last to properly create offload image.

2019-11-11  H.J. Lu  <hjl.tools@gmail.com>

PR target/87833
* config/i386/intelmic-mkoffload.c (prepare_target_image): Put
-fPIC and -shared the last to create offload image.

Backport from trunk r278041.

From-SVN: r278042

gcc/ChangeLog
gcc/config/i386/intelmic-mkoffload.c

index fc19dae278d49b9b7cb89687ed819ef1eaeb78b5..8552b2a072fe49358f25d10552e56984a226fd95 100644 (file)
@@ -1,3 +1,10 @@
+2019-11-11  H.J. Lu  <hjl.tools@gmail.com>
+
+       Backport from trunk:
+       PR target/87833
+       * config/i386/intelmic-mkoffload.c (prepare_target_image): Put
+       -fPIC and -shared the last to create offload image.
+
 2019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
 
        Backport from trunk:
index 2a3e912ee74fd4e9525e3782c2a7ddae3d450fce..0b12edc72c14324f93b2176747b9c6a59a235277 100644 (file)
@@ -453,8 +453,6 @@ prepare_target_image (const char *target_compiler, int argc, char **argv)
   if (verbose)
     obstack_ptr_grow (&argv_obstack, "-v");
   obstack_ptr_grow (&argv_obstack, "-xlto");
-  obstack_ptr_grow (&argv_obstack, "-shared");
-  obstack_ptr_grow (&argv_obstack, "-fPIC");
   obstack_ptr_grow (&argv_obstack, opt1);
   for (int i = 1; i < argc; i++)
     {
@@ -466,6 +464,9 @@ prepare_target_image (const char *target_compiler, int argc, char **argv)
   if (!out_obj_filename)
     fatal_error (input_location, "output file not specified");
   obstack_ptr_grow (&argv_obstack, opt2);
+  /* NB: Put -fPIC and -shared the last to create shared library.  */
+  obstack_ptr_grow (&argv_obstack, "-fPIC");
+  obstack_ptr_grow (&argv_obstack, "-shared");
   obstack_ptr_grow (&argv_obstack, "-o");
   obstack_ptr_grow (&argv_obstack, target_so_filename);
   compile_for_target (&argv_obstack);