blob: af8ebf3be6e0d129ddf2557bff40186ecc2860ea [file] [log] [blame]
Microblaze Mulitlib hack
Based on the patch:
From c2081c51db589471ea713870c72f13999abda815 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:10:06 +0400
Subject: [PATCH 04/36] 64-bit multilib hack.
GCC has internal multilib handling code but it assumes a very specific rigid directory
layout. The build system implementation of multilib layout is very generic and allows
complete customisation of the library directories.
This patch is a partial solution to allow any custom directories to be passed into gcc
and handled correctly. It forces gcc to use the base_libdir (which is the current
directory, "."). We need to do this for each multilib that is configured as we don't
know which compiler options may be being passed into the compiler. Since we have a compiler
per mulitlib at this point that isn't an issue.
The one problem is the target compiler is only going to work for the default multlilib at
this point. Ideally we'd figure out which multilibs were being enabled with which paths
and be able to patch these entries with a complete set of correct paths but this we
don't have such code at this point. This is something the target gcc recipe should do
and override these platform defaults in its build config.
Do same for riscv64 and aarch64
RP 15/8/11
Upstream-Status: Inappropriate[OE-Specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
Index: gcc-9.2.0/gcc/config/microblaze/t-microblaze
===================================================================
--- gcc-9.2.0.orig/gcc/config/microblaze/t-microblaze
+++ gcc-9.2.0/gcc/config/microblaze/t-microblaze
@@ -1,5 +1,6 @@
MULTILIB_OPTIONS = m64 mxl-barrel-shift mlittle-endian mno-xl-soft-mul mxl-multiply-high
-MULTILIB_DIRNAMES = m64 bs le m mh
+#MULTILIB_DIRNAMES = m64 bs le m mh
+MULTILIB_DIRNAMES = . . . . .
MULTILIB_EXCEPTIONS = *m64/mxl-multiply-high mxl-multiply-high
MULTILIB_EXCEPTIONS += *m64
MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift
Index: gcc-9.2.0/gcc/config/microblaze/t-microblaze-linux
===================================================================
--- gcc-9.2.0.orig/gcc/config/microblaze/t-microblaze-linux
+++ gcc-9.2.0/gcc/config/microblaze/t-microblaze-linux
@@ -1,3 +1,4 @@
MULTILIB_OPTIONS = mxl-barrel-shift mno-xl-soft-mul mxl-multiply-high
-MULTILIB_DIRNAMES = bs m mh
+#MULTILIB_DIRNAMES = bs m mh
+MULTILIB_DIRNAMES = . . .
MULTILIB_EXCEPTIONS = *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high