summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-multilib-config.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-multilib-config.inc')
-rw-r--r--meta/recipes-devtools/gcc/gcc-multilib-config.inc11
1 files changed, 8 insertions, 3 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-multilib-config.inc b/meta/recipes-devtools/gcc/gcc-multilib-config.inc
index 2dbbc23c94..2afd8f6f2a 100644
--- a/meta/recipes-devtools/gcc/gcc-multilib-config.inc
+++ b/meta/recipes-devtools/gcc/gcc-multilib-config.inc
@@ -34,6 +34,7 @@ python gcc_multilib_setup() {
34 '%s/aarch64/aarch64-linux.h' % src_conf_dir, 34 '%s/aarch64/aarch64-linux.h' % src_conf_dir,
35 '%s/aarch64/aarch64-cores.def' % src_conf_dir, 35 '%s/aarch64/aarch64-cores.def' % src_conf_dir,
36 '%s/arm/linux-eabi.h' % src_conf_dir, 36 '%s/arm/linux-eabi.h' % src_conf_dir,
37 '%s/riscv/t-linux*' % src_conf_dir,
37 '%s/*/linux.h' % src_conf_dir, 38 '%s/*/linux.h' % src_conf_dir,
38 '%s/linux.h' % src_conf_dir) 39 '%s/linux.h' % src_conf_dir)
39 40
@@ -45,6 +46,9 @@ python gcc_multilib_setup() {
45 bb.utils.mkdirhier('%s/%s' % (build_conf_dir, parent_dir)) 46 bb.utils.mkdirhier('%s/%s' % (build_conf_dir, parent_dir))
46 bb.utils.copyfile(fn, '%s/%s' % (build_conf_dir, rel_path)) 47 bb.utils.copyfile(fn, '%s/%s' % (build_conf_dir, rel_path))
47 48
49 # For now, force the riscv multilib view to our own meaning we can always enable multilib
50 bb.utils.copyfile('%s/riscv/t-linux' % src_conf_dir, '%s/riscv/t-linux-multilib' % build_conf_dir)
51
48 pn = d.getVar('PN') 52 pn = d.getVar('PN')
49 multilibs = (d.getVar('MULTILIB_VARIANTS') or '').split() 53 multilibs = (d.getVar('MULTILIB_VARIANTS') or '').split()
50 if not multilibs and pn != "nativesdk-gcc": 54 if not multilibs and pn != "nativesdk-gcc":
@@ -55,7 +59,6 @@ python gcc_multilib_setup() {
55 if ('%sgcc' % mlprefix) != pn and (not pn.startswith('gcc-cross-canadian')) and pn != "nativesdk-gcc": 59 if ('%sgcc' % mlprefix) != pn and (not pn.startswith('gcc-cross-canadian')) and pn != "nativesdk-gcc":
56 return 60 return
57 61
58
59 def write_config(root, files, options, dirnames, osdirnames): 62 def write_config(root, files, options, dirnames, osdirnames):
60 for ml_conf_file in files: 63 for ml_conf_file in files:
61 with open(root + '/' + ml_conf_file, 'r') as f: 64 with open(root + '/' + ml_conf_file, 'r') as f:
@@ -138,13 +141,14 @@ python gcc_multilib_setup() {
138 with open(root + '/' + ml_conf_file, 'w') as f: 141 with open(root + '/' + ml_conf_file, 'w') as f:
139 f.write(''.join(filelines)) 142 f.write(''.join(filelines))
140 143
141
142 gcc_target_config_files = { 144 gcc_target_config_files = {
143 'x86_64' : ['gcc/config/i386/t-linux64'], 145 'x86_64' : ['gcc/config/i386/t-linux64'],
144 'i586' : ['gcc/config/i386/t-linux64'], 146 'i586' : ['gcc/config/i386/t-linux64'],
145 'i686' : ['gcc/config/i386/t-linux64'], 147 'i686' : ['gcc/config/i386/t-linux64'],
146 'mips' : ['gcc/config/mips/t-linux64'], 148 'mips' : ['gcc/config/mips/t-linux64'],
147 'mips64' : ['gcc/config/mips/t-linux64'], 149 'mips64' : ['gcc/config/mips/t-linux64'],
150 'riscv32' : ['gcc/config/riscv/t-linux-multilib'],
151 'riscv64' : ['gcc/config/riscv/t-linux-multilib'],
148 'powerpc' : ['gcc/config/rs6000/t-linux64'], 152 'powerpc' : ['gcc/config/rs6000/t-linux64'],
149 'powerpc64' : ['gcc/config/rs6000/t-linux64'], 153 'powerpc64' : ['gcc/config/rs6000/t-linux64'],
150 'aarch64' : ['gcc/config/aarch64/t-aarch64'], 154 'aarch64' : ['gcc/config/aarch64/t-aarch64'],
@@ -161,6 +165,8 @@ python gcc_multilib_setup() {
161 'powerpc64' : ['gcc/config/linux.h', 'gcc/config/rs6000/linux64.h'], 165 'powerpc64' : ['gcc/config/linux.h', 'gcc/config/rs6000/linux64.h'],
162 'aarch64' : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'], 166 'aarch64' : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'],
163 'arm' : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'], 167 'arm' : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'],
168 'riscv32' : ['gcc/config/linux.h'],
169 'riscv64' : ['gcc/config/linux.h'],
164 } 170 }
165 171
166 libdir32 = 'SYSTEMLIBS_DIR' 172 libdir32 = 'SYSTEMLIBS_DIR'
@@ -168,7 +174,6 @@ python gcc_multilib_setup() {
168 libdirx32 = 'SYSTEMLIBS_DIR' 174 libdirx32 = 'SYSTEMLIBS_DIR'
169 libdirn32 = 'SYSTEMLIBS_DIR' 175 libdirn32 = 'SYSTEMLIBS_DIR'
170 176
171
172 target_arch = (d.getVar('TARGET_ARCH_MULTILIB_ORIGINAL') if mlprefix 177 target_arch = (d.getVar('TARGET_ARCH_MULTILIB_ORIGINAL') if mlprefix
173 else d.getVar('TARGET_ARCH')) 178 else d.getVar('TARGET_ARCH'))
174 if pn == "nativesdk-gcc": 179 if pn == "nativesdk-gcc":