]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
ada: Pass -msmp when linking for ppc-vx6 --RTS=rtp-smp
authorAlexandre Oliva <oliva@adacore.com>
Fri, 7 Jul 2023 07:02:40 +0000 (04:02 -0300)
committerMarc Poulhiès <poulhies@adacore.com>
Tue, 5 Sep 2023 11:05:14 +0000 (13:05 +0200)
gprbuild and gnatmake won't pass --RTS=rtp-smp to the compiler driver
for linking.  The flag was not used during linking: the .spec files
named as linker options were all we passed for the linker to get the
-L flags for lib_smp and lib.

There was a problem, though: although /lib_smp/ and /lib/ were to be
searched in this order, and the specs files did that correctly, the
compiler would search /lib/ first regardless, because
STARTFILE_PREFIX_SPEC said so, and specs files cannot override that.

With this patch, we make sure the rtp-smp runtime causes -msmp to be
added to the command line passed to the compiler driver for linking,
and a corresponding patch for the ppc-vxworks configuration makes the
GCC compiler driver use this flag to select /lib_smp/ rather than
/lib/.

gcc/ada/

* libgnat/system-vxworks-ppc-rtp-smp.ads: Add -msmp to
Linker_Options pragma.

gcc/ada/libgnat/system-vxworks-ppc-rtp-smp.ads

index d8c498fac7febe0e744b5b9ca92a9f3cbeae0845..e4b80a8415eeff245c1b6423931fb7a9c4f5c1b2 100644 (file)
@@ -120,6 +120,7 @@ package System is
 
 private
 
+   pragma Linker_Options ("-msmp");
    pragma Linker_Options ("--specs=vxworks-smp-ppc-link.spec");
    pragma Linker_Options ("--specs=vxworks-ppc-link.spec");
    --  Setup proper set of -L's for this configuration