diff options
5 files changed, 607 insertions, 112 deletions
diff --git a/meta-xilinx-bsp/conf/machine/microblaze-tc.conf b/meta-xilinx-bsp/conf/machine/microblaze-tc.conf index 081dd4e8..21ada3c8 100644 --- a/meta-xilinx-bsp/conf/machine/microblaze-tc.conf +++ b/meta-xilinx-bsp/conf/machine/microblaze-tc.conf | |||
| @@ -12,23 +12,53 @@ TARGET_LINK_HASH_STYLE = "" | |||
| 12 | # Define all of the multilibs supproted by this configuration | 12 | # Define all of the multilibs supproted by this configuration |
| 13 | MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" | 13 | MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" |
| 14 | 14 | ||
| 15 | MULTILIBS += "multilib:libmbbs" | ||
| 16 | MULTILIBS += "multilib:libmble" | 15 | MULTILIBS += "multilib:libmble" |
| 16 | MULTILIBS += "multilib:libmbbs" | ||
| 17 | MULTILIBS += "multilib:libmbp" | ||
| 17 | MULTILIBS += "multilib:libmbm" | 18 | MULTILIBS += "multilib:libmbm" |
| 18 | MULTILIBS += "multilib:libmbmmh" | 19 | MULTILIBS += "multilib:libmbfpd" |
| 19 | MULTILIBS += "multilib:libmblem" | 20 | MULTILIBS += "multilib:libmbmfpd" |
| 20 | MULTILIBS += "multilib:libmblemmh" | 21 | MULTILIBS += "multilib:libmbpm" |
| 21 | MULTILIBS += "multilib:libmbbsle" | 22 | MULTILIBS += "multilib:libmbpfpd" |
| 23 | MULTILIBS += "multilib:libmbpmfpd" | ||
| 24 | MULTILIBS += "multilib:libmbbsp" | ||
| 22 | MULTILIBS += "multilib:libmbbsm" | 25 | MULTILIBS += "multilib:libmbbsm" |
| 23 | MULTILIBS += "multilib:libmbbsmmh" | 26 | MULTILIBS += "multilib:libmbbsfpd" |
| 24 | MULTILIBS += "multilib:libmbbslem" | 27 | MULTILIBS += "multilib:libmbbsmfpd" |
| 25 | MULTILIBS += "multilib:libmbbslemmh" | 28 | MULTILIBS += "multilib:libmbbspm" |
| 26 | MULTILIBS += "multilib:libmbm64le" | 29 | MULTILIBS += "multilib:libmbbspfpd" |
| 27 | MULTILIBS += "multilib:libmbm64lem" | 30 | MULTILIBS += "multilib:libmbbspmfpd" |
| 28 | MULTILIBS += "multilib:libmbm64lemmh" | 31 | MULTILIBS += "multilib:libmblem64" |
| 29 | MULTILIBS += "multilib:libmbm64bsle" | 32 | MULTILIBS += "multilib:libmblebs" |
| 30 | MULTILIBS += "multilib:libmbm64bslem" | 33 | MULTILIBS += "multilib:libmblep" |
| 31 | MULTILIBS += "multilib:libmbm64bslemmh" | 34 | MULTILIBS += "multilib:libmblem" |
| 35 | MULTILIBS += "multilib:libmblefpd" | ||
| 36 | MULTILIBS += "multilib:libmblemfpd" | ||
| 37 | MULTILIBS += "multilib:libmblepm" | ||
| 38 | MULTILIBS += "multilib:libmblepfpd" | ||
| 39 | MULTILIBS += "multilib:libmblepmfpd" | ||
| 40 | MULTILIBS += "multilib:libmblebsp" | ||
| 41 | MULTILIBS += "multilib:libmblebsm" | ||
| 42 | MULTILIBS += "multilib:libmblebsfpd" | ||
| 43 | MULTILIBS += "multilib:libmblebsmfpd" | ||
| 44 | MULTILIBS += "multilib:libmblebspm" | ||
| 45 | MULTILIBS += "multilib:libmblebspfpd" | ||
| 46 | MULTILIBS += "multilib:libmblebspmfpd" | ||
| 47 | MULTILIBS += "multilib:libmblem64bs" | ||
| 48 | MULTILIBS += "multilib:libmblem64p" | ||
| 49 | MULTILIBS += "multilib:libmblem64m" | ||
| 50 | MULTILIBS += "multilib:libmblem64fpd" | ||
| 51 | MULTILIBS += "multilib:libmblem64mfpd" | ||
| 52 | MULTILIBS += "multilib:libmblem64pm" | ||
| 53 | MULTILIBS += "multilib:libmblem64pfpd" | ||
| 54 | MULTILIBS += "multilib:libmblem64pmfpd" | ||
| 55 | MULTILIBS += "multilib:libmblem64bsp" | ||
| 56 | MULTILIBS += "multilib:libmblem64bsm" | ||
| 57 | MULTILIBS += "multilib:libmblem64bsfpd" | ||
| 58 | MULTILIBS += "multilib:libmblem64bsmfpd" | ||
| 59 | MULTILIBS += "multilib:libmblem64bspm" | ||
| 60 | MULTILIBS += "multilib:libmblem64bspfpd" | ||
| 61 | MULTILIBS += "multilib:libmblem64bspmfpd" | ||
| 32 | 62 | ||
| 33 | 63 | ||
| 34 | # Base configuration | 64 | # Base configuration |
| @@ -41,6 +71,16 @@ TUNE_FEATURES_tune-microblaze = "microblaze bigendian" | |||
| 41 | PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}" | 71 | PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}" |
| 42 | 72 | ||
| 43 | 73 | ||
| 74 | # le | ||
| 75 | # CFLAGS: -mlittle-endian | ||
| 76 | DEFAULTTUNE_virtclass-multilib-libmble = "microblazele" | ||
| 77 | |||
| 78 | AVAILTUNES += "microblazele" | ||
| 79 | BASE_LIB_tune-microblazele = "lib/le" | ||
| 80 | TUNE_FEATURES_tune-microblazele = "microblaze" | ||
| 81 | PACKAGE_EXTRA_ARCHS_tune-microblazele = "${TUNE_PKGARCH}" | ||
| 82 | |||
| 83 | |||
| 44 | # bs | 84 | # bs |
| 45 | # CFLAGS: -mxl-barrel-shift | 85 | # CFLAGS: -mxl-barrel-shift |
| 46 | DEFAULTTUNE_virtclass-multilib-libmbbs = "microblazebs" | 86 | DEFAULTTUNE_virtclass-multilib-libmbbs = "microblazebs" |
| @@ -51,14 +91,14 @@ TUNE_FEATURES_tune-microblazebs = "microblaze bigendian barrel-shift" | |||
| 51 | PACKAGE_EXTRA_ARCHS_tune-microblazebs = "${TUNE_PKGARCH}" | 91 | PACKAGE_EXTRA_ARCHS_tune-microblazebs = "${TUNE_PKGARCH}" |
| 52 | 92 | ||
| 53 | 93 | ||
| 54 | # le | 94 | # p |
| 55 | # CFLAGS: -mlittle-endian | 95 | # CFLAGS: -mxl-pattern-compare |
| 56 | DEFAULTTUNE_virtclass-multilib-libmble = "microblazele" | 96 | DEFAULTTUNE_virtclass-multilib-libmbp = "microblazep" |
| 57 | 97 | ||
| 58 | AVAILTUNES += "microblazele" | 98 | AVAILTUNES += "microblazep" |
| 59 | BASE_LIB_tune-microblazele = "lib/le" | 99 | BASE_LIB_tune-microblazep = "lib/p" |
| 60 | TUNE_FEATURES_tune-microblazele = "microblaze" | 100 | TUNE_FEATURES_tune-microblazep = "microblaze bigendian pattern-compare" |
| 61 | PACKAGE_EXTRA_ARCHS_tune-microblazele = "${TUNE_PKGARCH}" | 101 | PACKAGE_EXTRA_ARCHS_tune-microblazep = "${TUNE_PKGARCH}" |
| 62 | 102 | ||
| 63 | 103 | ||
| 64 | # m | 104 | # m |
| @@ -71,44 +111,64 @@ TUNE_FEATURES_tune-microblazem = "microblaze bigendian multiply-low" | |||
| 71 | PACKAGE_EXTRA_ARCHS_tune-microblazem = "${TUNE_PKGARCH}" | 111 | PACKAGE_EXTRA_ARCHS_tune-microblazem = "${TUNE_PKGARCH}" |
| 72 | 112 | ||
| 73 | 113 | ||
| 74 | # m/mh | 114 | # fpd |
| 75 | # CFLAGS: -mno-xl-soft-mul -mxl-multiply-high | 115 | # CFLAGS: -mhard-float |
| 76 | DEFAULTTUNE_virtclass-multilib-libmbmmh = "microblazemmh" | 116 | DEFAULTTUNE_virtclass-multilib-libmbfpd = "microblazefpd" |
| 77 | 117 | ||
| 78 | AVAILTUNES += "microblazemmh" | 118 | AVAILTUNES += "microblazefpd" |
| 79 | BASE_LIB_tune-microblazemmh = "lib/m/mh" | 119 | BASE_LIB_tune-microblazefpd = "lib/fpd" |
| 80 | TUNE_FEATURES_tune-microblazemmh = "microblaze bigendian multiply-high" | 120 | TUNE_FEATURES_tune-microblazefpd = "microblaze bigendian fpu-hard" |
| 81 | PACKAGE_EXTRA_ARCHS_tune-microblazemmh = "${TUNE_PKGARCH}" | 121 | PACKAGE_EXTRA_ARCHS_tune-microblazefpd = "${TUNE_PKGARCH}" |
| 82 | 122 | ||
| 83 | 123 | ||
| 84 | # le/m | 124 | # m/fpd |
| 85 | # CFLAGS: -mlittle-endian -mno-xl-soft-mul | 125 | # CFLAGS: -mno-xl-soft-mul -mhard-float |
| 86 | DEFAULTTUNE_virtclass-multilib-libmblem = "microblazelem" | 126 | DEFAULTTUNE_virtclass-multilib-libmbmfpd = "microblazemfpd" |
| 87 | 127 | ||
| 88 | AVAILTUNES += "microblazelem" | 128 | AVAILTUNES += "microblazemfpd" |
| 89 | BASE_LIB_tune-microblazelem = "lib/le/m" | 129 | BASE_LIB_tune-microblazemfpd = "lib/m/fpd" |
| 90 | TUNE_FEATURES_tune-microblazelem = "microblaze multiply-low" | 130 | TUNE_FEATURES_tune-microblazemfpd = "microblaze bigendian multiply-low fpu-hard" |
| 91 | PACKAGE_EXTRA_ARCHS_tune-microblazelem = "${TUNE_PKGARCH}" | 131 | PACKAGE_EXTRA_ARCHS_tune-microblazemfpd = "${TUNE_PKGARCH}" |
| 132 | |||
| 133 | |||
| 134 | # p/m | ||
| 135 | # CFLAGS: -mxl-pattern-compare -mno-xl-soft-mul | ||
| 136 | DEFAULTTUNE_virtclass-multilib-libmbpm = "microblazepm" | ||
| 137 | |||
| 138 | AVAILTUNES += "microblazepm" | ||
| 139 | BASE_LIB_tune-microblazepm = "lib/p/m" | ||
| 140 | TUNE_FEATURES_tune-microblazepm = "microblaze bigendian pattern-compare multiply-low" | ||
| 141 | PACKAGE_EXTRA_ARCHS_tune-microblazepm = "${TUNE_PKGARCH}" | ||
| 92 | 142 | ||
| 93 | 143 | ||
| 94 | # le/m/mh | 144 | # p/fpd |
| 95 | # CFLAGS: -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high | 145 | # CFLAGS: -mxl-pattern-compare -mhard-float |
| 96 | DEFAULTTUNE_virtclass-multilib-libmblemmh = "microblazelemmh" | 146 | DEFAULTTUNE_virtclass-multilib-libmbpfpd = "microblazepfpd" |
| 97 | 147 | ||
| 98 | AVAILTUNES += "microblazelemmh" | 148 | AVAILTUNES += "microblazepfpd" |
| 99 | BASE_LIB_tune-microblazelemmh = "lib/le/m/mh" | 149 | BASE_LIB_tune-microblazepfpd = "lib/p/fpd" |
| 100 | TUNE_FEATURES_tune-microblazelemmh = "microblaze multiply-high" | 150 | TUNE_FEATURES_tune-microblazepfpd = "microblaze bigendian pattern-compare fpu-hard" |
| 101 | PACKAGE_EXTRA_ARCHS_tune-microblazelemmh = "${TUNE_PKGARCH}" | 151 | PACKAGE_EXTRA_ARCHS_tune-microblazepfpd = "${TUNE_PKGARCH}" |
| 102 | 152 | ||
| 103 | 153 | ||
| 104 | # bs/le | 154 | # p/m/fpd |
| 105 | # CFLAGS: -mxl-barrel-shift -mlittle-endian | 155 | # CFLAGS: -mxl-pattern-compare -mno-xl-soft-mul -mhard-float |
| 106 | DEFAULTTUNE_virtclass-multilib-libmbbsle = "microblazebsle" | 156 | DEFAULTTUNE_virtclass-multilib-libmbpmfpd = "microblazepmfpd" |
| 107 | 157 | ||
| 108 | AVAILTUNES += "microblazebsle" | 158 | AVAILTUNES += "microblazepmfpd" |
| 109 | BASE_LIB_tune-microblazebsle = "lib/bs/le" | 159 | BASE_LIB_tune-microblazepmfpd = "lib/p/m/fpd" |
| 110 | TUNE_FEATURES_tune-microblazebsle = "microblaze barrel-shift" | 160 | TUNE_FEATURES_tune-microblazepmfpd = "microblaze bigendian pattern-compare multiply-low fpu-hard" |
| 111 | PACKAGE_EXTRA_ARCHS_tune-microblazebsle = "${TUNE_PKGARCH}" | 161 | PACKAGE_EXTRA_ARCHS_tune-microblazepmfpd = "${TUNE_PKGARCH}" |
| 162 | |||
| 163 | |||
| 164 | # bs/p | ||
| 165 | # CFLAGS: -mxl-barrel-shift -mxl-pattern-compare | ||
| 166 | DEFAULTTUNE_virtclass-multilib-libmbbsp = "microblazebsp" | ||
| 167 | |||
| 168 | AVAILTUNES += "microblazebsp" | ||
| 169 | BASE_LIB_tune-microblazebsp = "lib/bs/p" | ||
| 170 | TUNE_FEATURES_tune-microblazebsp = "microblaze bigendian barrel-shift pattern-compare" | ||
| 171 | PACKAGE_EXTRA_ARCHS_tune-microblazebsp = "${TUNE_PKGARCH}" | ||
| 112 | 172 | ||
| 113 | 173 | ||
| 114 | # bs/m | 174 | # bs/m |
| @@ -121,91 +181,361 @@ TUNE_FEATURES_tune-microblazebsm = "microblaze bigendian barrel-shift multiply-l | |||
| 121 | PACKAGE_EXTRA_ARCHS_tune-microblazebsm = "${TUNE_PKGARCH}" | 181 | PACKAGE_EXTRA_ARCHS_tune-microblazebsm = "${TUNE_PKGARCH}" |
| 122 | 182 | ||
| 123 | 183 | ||
| 124 | # bs/m/mh | 184 | # bs/fpd |
| 125 | # CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high | 185 | # CFLAGS: -mxl-barrel-shift -mhard-float |
| 126 | DEFAULTTUNE_virtclass-multilib-libmbbsmmh = "microblazebsmmh" | 186 | DEFAULTTUNE_virtclass-multilib-libmbbsfpd = "microblazebsfpd" |
| 187 | |||
| 188 | AVAILTUNES += "microblazebsfpd" | ||
| 189 | BASE_LIB_tune-microblazebsfpd = "lib/bs/fpd" | ||
| 190 | TUNE_FEATURES_tune-microblazebsfpd = "microblaze bigendian barrel-shift fpu-hard" | ||
| 191 | PACKAGE_EXTRA_ARCHS_tune-microblazebsfpd = "${TUNE_PKGARCH}" | ||
| 192 | |||
| 193 | |||
| 194 | # bs/m/fpd | ||
| 195 | # CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul -mhard-float | ||
| 196 | DEFAULTTUNE_virtclass-multilib-libmbbsmfpd = "microblazebsmfpd" | ||
| 197 | |||
| 198 | AVAILTUNES += "microblazebsmfpd" | ||
| 199 | BASE_LIB_tune-microblazebsmfpd = "lib/bs/m/fpd" | ||
| 200 | TUNE_FEATURES_tune-microblazebsmfpd = "microblaze bigendian barrel-shift multiply-low fpu-hard" | ||
| 201 | PACKAGE_EXTRA_ARCHS_tune-microblazebsmfpd = "${TUNE_PKGARCH}" | ||
| 202 | |||
| 203 | |||
| 204 | # bs/p/m | ||
| 205 | # CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul | ||
| 206 | DEFAULTTUNE_virtclass-multilib-libmbbspm = "microblazebspm" | ||
| 207 | |||
| 208 | AVAILTUNES += "microblazebspm" | ||
| 209 | BASE_LIB_tune-microblazebspm = "lib/bs/p/m" | ||
| 210 | TUNE_FEATURES_tune-microblazebspm = "microblaze bigendian barrel-shift pattern-compare multiply-low" | ||
| 211 | PACKAGE_EXTRA_ARCHS_tune-microblazebspm = "${TUNE_PKGARCH}" | ||
| 212 | |||
| 213 | |||
| 214 | # bs/p/fpd | ||
| 215 | # CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mhard-float | ||
| 216 | DEFAULTTUNE_virtclass-multilib-libmbbspfpd = "microblazebspfpd" | ||
| 217 | |||
| 218 | AVAILTUNES += "microblazebspfpd" | ||
| 219 | BASE_LIB_tune-microblazebspfpd = "lib/bs/p/fpd" | ||
| 220 | TUNE_FEATURES_tune-microblazebspfpd = "microblaze bigendian barrel-shift pattern-compare fpu-hard" | ||
| 221 | PACKAGE_EXTRA_ARCHS_tune-microblazebspfpd = "${TUNE_PKGARCH}" | ||
| 222 | |||
| 223 | |||
| 224 | # bs/p/m/fpd | ||
| 225 | # CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float | ||
| 226 | DEFAULTTUNE_virtclass-multilib-libmbbspmfpd = "microblazebspmfpd" | ||
| 227 | |||
| 228 | AVAILTUNES += "microblazebspmfpd" | ||
| 229 | BASE_LIB_tune-microblazebspmfpd = "lib/bs/p/m/fpd" | ||
| 230 | TUNE_FEATURES_tune-microblazebspmfpd = "microblaze bigendian barrel-shift pattern-compare multiply-low fpu-hard" | ||
| 231 | PACKAGE_EXTRA_ARCHS_tune-microblazebspmfpd = "${TUNE_PKGARCH}" | ||
| 232 | |||
| 233 | |||
| 234 | # le/m64 | ||
| 235 | # CFLAGS: -mlittle-endian -m64 | ||
| 236 | DEFAULTTUNE_virtclass-multilib-libmblem64 = "microblazele64" | ||
| 237 | |||
| 238 | AVAILTUNES += "microblazele64" | ||
| 239 | BASE_LIB_tune-microblazele64 = "lib/le/m64" | ||
| 240 | TUNE_FEATURES_tune-microblazele64 = "microblaze 64-bit" | ||
| 241 | PACKAGE_EXTRA_ARCHS_tune-microblazele64 = "${TUNE_PKGARCH}" | ||
| 242 | |||
| 243 | |||
| 244 | # le/bs | ||
| 245 | # CFLAGS: -mlittle-endian -mxl-barrel-shift | ||
| 246 | DEFAULTTUNE_virtclass-multilib-libmblebs = "microblazelebs" | ||
| 247 | |||
| 248 | AVAILTUNES += "microblazelebs" | ||
| 249 | BASE_LIB_tune-microblazelebs = "lib/le/bs" | ||
| 250 | TUNE_FEATURES_tune-microblazelebs = "microblaze barrel-shift" | ||
| 251 | PACKAGE_EXTRA_ARCHS_tune-microblazelebs = "${TUNE_PKGARCH}" | ||
| 252 | |||
| 253 | |||
| 254 | # le/p | ||
| 255 | # CFLAGS: -mlittle-endian -mxl-pattern-compare | ||
| 256 | DEFAULTTUNE_virtclass-multilib-libmblep = "microblazelep" | ||
| 257 | |||
| 258 | AVAILTUNES += "microblazelep" | ||
| 259 | BASE_LIB_tune-microblazelep = "lib/le/p" | ||
| 260 | TUNE_FEATURES_tune-microblazelep = "microblaze pattern-compare" | ||
| 261 | PACKAGE_EXTRA_ARCHS_tune-microblazelep = "${TUNE_PKGARCH}" | ||
| 262 | |||
| 263 | |||
| 264 | # le/m | ||
| 265 | # CFLAGS: -mlittle-endian -mno-xl-soft-mul | ||
| 266 | DEFAULTTUNE_virtclass-multilib-libmblem = "microblazelem" | ||
| 267 | |||
| 268 | AVAILTUNES += "microblazelem" | ||
| 269 | BASE_LIB_tune-microblazelem = "lib/le/m" | ||
| 270 | TUNE_FEATURES_tune-microblazelem = "microblaze multiply-low" | ||
| 271 | PACKAGE_EXTRA_ARCHS_tune-microblazelem = "${TUNE_PKGARCH}" | ||
| 272 | |||
| 273 | |||
| 274 | # le/fpd | ||
| 275 | # CFLAGS: -mlittle-endian -mhard-float | ||
| 276 | DEFAULTTUNE_virtclass-multilib-libmblefpd = "microblazelefpd" | ||
| 277 | |||
| 278 | AVAILTUNES += "microblazelefpd" | ||
| 279 | BASE_LIB_tune-microblazelefpd = "lib/le/fpd" | ||
| 280 | TUNE_FEATURES_tune-microblazelefpd = "microblaze fpu-hard" | ||
| 281 | PACKAGE_EXTRA_ARCHS_tune-microblazelefpd = "${TUNE_PKGARCH}" | ||
| 282 | |||
| 283 | |||
| 284 | # le/m/fpd | ||
| 285 | # CFLAGS: -mlittle-endian -mno-xl-soft-mul -mhard-float | ||
| 286 | DEFAULTTUNE_virtclass-multilib-libmblemfpd = "microblazelemfpd" | ||
| 287 | |||
| 288 | AVAILTUNES += "microblazelemfpd" | ||
| 289 | BASE_LIB_tune-microblazelemfpd = "lib/le/m/fpd" | ||
| 290 | TUNE_FEATURES_tune-microblazelemfpd = "microblaze multiply-low fpu-hard" | ||
| 291 | PACKAGE_EXTRA_ARCHS_tune-microblazelemfpd = "${TUNE_PKGARCH}" | ||
| 292 | |||
| 293 | |||
| 294 | # le/p/m | ||
| 295 | # CFLAGS: -mlittle-endian -mxl-pattern-compare -mno-xl-soft-mul | ||
| 296 | DEFAULTTUNE_virtclass-multilib-libmblepm = "microblazelepm" | ||
| 297 | |||
| 298 | AVAILTUNES += "microblazelepm" | ||
| 299 | BASE_LIB_tune-microblazelepm = "lib/le/p/m" | ||
| 300 | TUNE_FEATURES_tune-microblazelepm = "microblaze pattern-compare multiply-low" | ||
| 301 | PACKAGE_EXTRA_ARCHS_tune-microblazelepm = "${TUNE_PKGARCH}" | ||
| 302 | |||
| 303 | |||
| 304 | # le/p/fpd | ||
| 305 | # CFLAGS: -mlittle-endian -mxl-pattern-compare -mhard-float | ||
| 306 | DEFAULTTUNE_virtclass-multilib-libmblepfpd = "microblazelepfpd" | ||
| 307 | |||
| 308 | AVAILTUNES += "microblazelepfpd" | ||
| 309 | BASE_LIB_tune-microblazelepfpd = "lib/le/p/fpd" | ||
| 310 | TUNE_FEATURES_tune-microblazelepfpd = "microblaze pattern-compare fpu-hard" | ||
| 311 | PACKAGE_EXTRA_ARCHS_tune-microblazelepfpd = "${TUNE_PKGARCH}" | ||
| 312 | |||
| 313 | |||
| 314 | # le/p/m/fpd | ||
| 315 | # CFLAGS: -mlittle-endian -mxl-pattern-compare -mno-xl-soft-mul -mhard-float | ||
| 316 | DEFAULTTUNE_virtclass-multilib-libmblepmfpd = "microblazelepmfpd" | ||
| 317 | |||
| 318 | AVAILTUNES += "microblazelepmfpd" | ||
| 319 | BASE_LIB_tune-microblazelepmfpd = "lib/le/p/m/fpd" | ||
| 320 | TUNE_FEATURES_tune-microblazelepmfpd = "microblaze pattern-compare multiply-low fpu-hard" | ||
| 321 | PACKAGE_EXTRA_ARCHS_tune-microblazelepmfpd = "${TUNE_PKGARCH}" | ||
| 322 | |||
| 323 | |||
| 324 | # le/bs/p | ||
| 325 | # CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare | ||
| 326 | DEFAULTTUNE_virtclass-multilib-libmblebsp = "microblazelebsp" | ||
| 327 | |||
| 328 | AVAILTUNES += "microblazelebsp" | ||
| 329 | BASE_LIB_tune-microblazelebsp = "lib/le/bs/p" | ||
| 330 | TUNE_FEATURES_tune-microblazelebsp = "microblaze barrel-shift pattern-compare" | ||
| 331 | PACKAGE_EXTRA_ARCHS_tune-microblazelebsp = "${TUNE_PKGARCH}" | ||
| 332 | |||
| 333 | |||
| 334 | # le/bs/m | ||
| 335 | # CFLAGS: -mlittle-endian -mxl-barrel-shift -mno-xl-soft-mul | ||
| 336 | DEFAULTTUNE_virtclass-multilib-libmblebsm = "microblazelebsm" | ||
| 337 | |||
| 338 | AVAILTUNES += "microblazelebsm" | ||
| 339 | BASE_LIB_tune-microblazelebsm = "lib/le/bs/m" | ||
| 340 | TUNE_FEATURES_tune-microblazelebsm = "microblaze barrel-shift multiply-low" | ||
| 341 | PACKAGE_EXTRA_ARCHS_tune-microblazelebsm = "${TUNE_PKGARCH}" | ||
| 342 | |||
| 343 | |||
| 344 | # le/bs/fpd | ||
| 345 | # CFLAGS: -mlittle-endian -mxl-barrel-shift -mhard-float | ||
| 346 | DEFAULTTUNE_virtclass-multilib-libmblebsfpd = "microblazelebsfpd" | ||
| 347 | |||
| 348 | AVAILTUNES += "microblazelebsfpd" | ||
| 349 | BASE_LIB_tune-microblazelebsfpd = "lib/le/bs/fpd" | ||
| 350 | TUNE_FEATURES_tune-microblazelebsfpd = "microblaze barrel-shift fpu-hard" | ||
| 351 | PACKAGE_EXTRA_ARCHS_tune-microblazelebsfpd = "${TUNE_PKGARCH}" | ||
| 352 | |||
| 353 | |||
| 354 | # le/bs/m/fpd | ||
| 355 | # CFLAGS: -mlittle-endian -mxl-barrel-shift -mno-xl-soft-mul -mhard-float | ||
| 356 | DEFAULTTUNE_virtclass-multilib-libmblebsmfpd = "microblazelebsmfpd" | ||
| 357 | |||
| 358 | AVAILTUNES += "microblazelebsmfpd" | ||
| 359 | BASE_LIB_tune-microblazelebsmfpd = "lib/le/bs/m/fpd" | ||
| 360 | TUNE_FEATURES_tune-microblazelebsmfpd = "microblaze barrel-shift multiply-low fpu-hard" | ||
| 361 | PACKAGE_EXTRA_ARCHS_tune-microblazelebsmfpd = "${TUNE_PKGARCH}" | ||
| 362 | |||
| 363 | |||
| 364 | # le/bs/p/m | ||
| 365 | # CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul | ||
| 366 | DEFAULTTUNE_virtclass-multilib-libmblebspm = "microblazelebspm" | ||
| 367 | |||
| 368 | AVAILTUNES += "microblazelebspm" | ||
| 369 | BASE_LIB_tune-microblazelebspm = "lib/le/bs/p/m" | ||
| 370 | TUNE_FEATURES_tune-microblazelebspm = "microblaze barrel-shift pattern-compare multiply-low" | ||
| 371 | PACKAGE_EXTRA_ARCHS_tune-microblazelebspm = "${TUNE_PKGARCH}" | ||
| 372 | |||
| 373 | |||
| 374 | # le/bs/p/fpd | ||
| 375 | # CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mhard-float | ||
| 376 | DEFAULTTUNE_virtclass-multilib-libmblebspfpd = "microblazelebspfpd" | ||
| 377 | |||
| 378 | AVAILTUNES += "microblazelebspfpd" | ||
| 379 | BASE_LIB_tune-microblazelebspfpd = "lib/le/bs/p/fpd" | ||
| 380 | TUNE_FEATURES_tune-microblazelebspfpd = "microblaze barrel-shift pattern-compare fpu-hard" | ||
| 381 | PACKAGE_EXTRA_ARCHS_tune-microblazelebspfpd = "${TUNE_PKGARCH}" | ||
| 382 | |||
| 383 | |||
| 384 | # le/bs/p/m/fpd | ||
| 385 | # CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float | ||
| 386 | DEFAULTTUNE_virtclass-multilib-libmblebspmfpd = "microblazelebspmfpd" | ||
| 387 | |||
| 388 | AVAILTUNES += "microblazelebspmfpd" | ||
| 389 | BASE_LIB_tune-microblazelebspmfpd = "lib/le/bs/p/m/fpd" | ||
| 390 | TUNE_FEATURES_tune-microblazelebspmfpd = "microblaze barrel-shift pattern-compare multiply-low fpu-hard" | ||
| 391 | PACKAGE_EXTRA_ARCHS_tune-microblazelebspmfpd = "${TUNE_PKGARCH}" | ||
| 392 | |||
| 393 | |||
| 394 | # le/m64/bs | ||
| 395 | # CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift | ||
| 396 | DEFAULTTUNE_virtclass-multilib-libmblem64bs = "microblazele64bs" | ||
| 397 | |||
| 398 | AVAILTUNES += "microblazele64bs" | ||
| 399 | BASE_LIB_tune-microblazele64bs = "lib/le/m64/bs" | ||
| 400 | TUNE_FEATURES_tune-microblazele64bs = "microblaze 64-bit barrel-shift" | ||
| 401 | PACKAGE_EXTRA_ARCHS_tune-microblazele64bs = "${TUNE_PKGARCH}" | ||
| 402 | |||
| 403 | |||
| 404 | # le/m64/p | ||
| 405 | # CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare | ||
| 406 | DEFAULTTUNE_virtclass-multilib-libmblem64p = "microblazele64p" | ||
| 407 | |||
| 408 | AVAILTUNES += "microblazele64p" | ||
| 409 | BASE_LIB_tune-microblazele64p = "lib/le/m64/p" | ||
| 410 | TUNE_FEATURES_tune-microblazele64p = "microblaze 64-bit pattern-compare" | ||
| 411 | PACKAGE_EXTRA_ARCHS_tune-microblazele64p = "${TUNE_PKGARCH}" | ||
| 412 | |||
| 413 | |||
| 414 | # le/m64/m | ||
| 415 | # CFLAGS: -mlittle-endian -m64 -mno-xl-soft-mul | ||
| 416 | DEFAULTTUNE_virtclass-multilib-libmblem64m = "microblazele64m" | ||
| 417 | |||
| 418 | AVAILTUNES += "microblazele64m" | ||
| 419 | BASE_LIB_tune-microblazele64m = "lib/le/m64/m" | ||
| 420 | TUNE_FEATURES_tune-microblazele64m = "microblaze 64-bit multiply-low" | ||
| 421 | PACKAGE_EXTRA_ARCHS_tune-microblazele64m = "${TUNE_PKGARCH}" | ||
| 422 | |||
| 423 | |||
| 424 | # le/m64/fpd | ||
| 425 | # CFLAGS: -mlittle-endian -m64 -mhard-float | ||
| 426 | DEFAULTTUNE_virtclass-multilib-libmblem64fpd = "microblazele64fpd" | ||
| 427 | |||
| 428 | AVAILTUNES += "microblazele64fpd" | ||
| 429 | BASE_LIB_tune-microblazele64fpd = "lib/le/m64/fpd" | ||
| 430 | TUNE_FEATURES_tune-microblazele64fpd = "microblaze 64-bit fpu-hard" | ||
| 431 | PACKAGE_EXTRA_ARCHS_tune-microblazele64fpd = "${TUNE_PKGARCH}" | ||
| 432 | |||
| 433 | |||
| 434 | # le/m64/m/fpd | ||
| 435 | # CFLAGS: -mlittle-endian -m64 -mno-xl-soft-mul -mhard-float | ||
| 436 | DEFAULTTUNE_virtclass-multilib-libmblem64mfpd = "microblazele64mfpd" | ||
| 437 | |||
| 438 | AVAILTUNES += "microblazele64mfpd" | ||
| 439 | BASE_LIB_tune-microblazele64mfpd = "lib/le/m64/m/fpd" | ||
| 440 | TUNE_FEATURES_tune-microblazele64mfpd = "microblaze 64-bit multiply-low fpu-hard" | ||
| 441 | PACKAGE_EXTRA_ARCHS_tune-microblazele64mfpd = "${TUNE_PKGARCH}" | ||
| 442 | |||
| 443 | |||
| 444 | # le/m64/p/m | ||
| 445 | # CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mno-xl-soft-mul | ||
| 446 | DEFAULTTUNE_virtclass-multilib-libmblem64pm = "microblazele64pm" | ||
| 447 | |||
| 448 | AVAILTUNES += "microblazele64pm" | ||
| 449 | BASE_LIB_tune-microblazele64pm = "lib/le/m64/p/m" | ||
| 450 | TUNE_FEATURES_tune-microblazele64pm = "microblaze 64-bit pattern-compare multiply-low" | ||
| 451 | PACKAGE_EXTRA_ARCHS_tune-microblazele64pm = "${TUNE_PKGARCH}" | ||
| 452 | |||
| 453 | |||
| 454 | # le/m64/p/fpd | ||
| 455 | # CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mhard-float | ||
| 456 | DEFAULTTUNE_virtclass-multilib-libmblem64pfpd = "microblazele64pfpd" | ||
| 127 | 457 | ||
| 128 | AVAILTUNES += "microblazebsmmh" | 458 | AVAILTUNES += "microblazele64pfpd" |
| 129 | BASE_LIB_tune-microblazebsmmh = "lib/bs/m/mh" | 459 | BASE_LIB_tune-microblazele64pfpd = "lib/le/m64/p/fpd" |
| 130 | TUNE_FEATURES_tune-microblazebsmmh = "microblaze bigendian barrel-shift multiply-high" | 460 | TUNE_FEATURES_tune-microblazele64pfpd = "microblaze 64-bit pattern-compare fpu-hard" |
| 131 | PACKAGE_EXTRA_ARCHS_tune-microblazebsmmh = "${TUNE_PKGARCH}" | 461 | PACKAGE_EXTRA_ARCHS_tune-microblazele64pfpd = "${TUNE_PKGARCH}" |
| 132 | 462 | ||
| 133 | 463 | ||
| 134 | # bs/le/m | 464 | # le/m64/p/m/fpd |
| 135 | # CFLAGS: -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul | 465 | # CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mno-xl-soft-mul -mhard-float |
| 136 | DEFAULTTUNE_virtclass-multilib-libmbbslem = "microblazebslem" | 466 | DEFAULTTUNE_virtclass-multilib-libmblem64pmfpd = "microblazele64pmfpd" |
| 137 | 467 | ||
| 138 | AVAILTUNES += "microblazebslem" | 468 | AVAILTUNES += "microblazele64pmfpd" |
| 139 | BASE_LIB_tune-microblazebslem = "lib/bs/le/m" | 469 | BASE_LIB_tune-microblazele64pmfpd = "lib/le/m64/p/m/fpd" |
| 140 | TUNE_FEATURES_tune-microblazebslem = "microblaze barrel-shift multiply-low" | 470 | TUNE_FEATURES_tune-microblazele64pmfpd = "microblaze 64-bit pattern-compare multiply-low fpu-hard" |
| 141 | PACKAGE_EXTRA_ARCHS_tune-microblazebslem = "${TUNE_PKGARCH}" | 471 | PACKAGE_EXTRA_ARCHS_tune-microblazele64pmfpd = "${TUNE_PKGARCH}" |
| 142 | 472 | ||
| 143 | 473 | ||
| 144 | # bs/le/m/mh | 474 | # le/m64/bs/p |
| 145 | # CFLAGS: -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high | 475 | # CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare |
| 146 | DEFAULTTUNE_virtclass-multilib-libmbbslemmh = "microblazebslemmh" | 476 | DEFAULTTUNE_virtclass-multilib-libmblem64bsp = "microblazele64bsp" |
| 147 | 477 | ||
| 148 | AVAILTUNES += "microblazebslemmh" | 478 | AVAILTUNES += "microblazele64bsp" |
| 149 | BASE_LIB_tune-microblazebslemmh = "lib/bs/le/m/mh" | 479 | BASE_LIB_tune-microblazele64bsp = "lib/le/m64/bs/p" |
| 150 | TUNE_FEATURES_tune-microblazebslemmh = "microblaze barrel-shift multiply-high" | 480 | TUNE_FEATURES_tune-microblazele64bsp = "microblaze 64-bit barrel-shift pattern-compare" |
| 151 | PACKAGE_EXTRA_ARCHS_tune-microblazebslemmh = "${TUNE_PKGARCH}" | 481 | PACKAGE_EXTRA_ARCHS_tune-microblazele64bsp = "${TUNE_PKGARCH}" |
| 152 | 482 | ||
| 153 | 483 | ||
| 154 | # m64/le | 484 | # le/m64/bs/m |
| 155 | # CFLAGS: -m64 -mlittle-endian | 485 | # CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mno-xl-soft-mul |
| 156 | DEFAULTTUNE_virtclass-multilib-libmbm64le = "microblaze64le" | 486 | DEFAULTTUNE_virtclass-multilib-libmblem64bsm = "microblazele64bsm" |
| 157 | 487 | ||
| 158 | AVAILTUNES += "microblaze64le" | 488 | AVAILTUNES += "microblazele64bsm" |
| 159 | BASE_LIB_tune-microblaze64le = "lib/m64/le" | 489 | BASE_LIB_tune-microblazele64bsm = "lib/le/m64/bs/m" |
| 160 | TUNE_FEATURES_tune-microblaze64le = "microblaze 64-bit" | 490 | TUNE_FEATURES_tune-microblazele64bsm = "microblaze 64-bit barrel-shift multiply-low" |
| 161 | PACKAGE_EXTRA_ARCHS_tune-microblaze64le = "${TUNE_PKGARCH}" | 491 | PACKAGE_EXTRA_ARCHS_tune-microblazele64bsm = "${TUNE_PKGARCH}" |
| 162 | 492 | ||
| 163 | 493 | ||
| 164 | # m64/le/m | 494 | # le/m64/bs/fpd |
| 165 | # CFLAGS: -m64 -mlittle-endian -mno-xl-soft-mul | 495 | # CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mhard-float |
| 166 | DEFAULTTUNE_virtclass-multilib-libmbm64lem = "microblaze64lem" | 496 | DEFAULTTUNE_virtclass-multilib-libmblem64bsfpd = "microblazele64bsfpd" |
| 167 | 497 | ||
| 168 | AVAILTUNES += "microblaze64lem" | 498 | AVAILTUNES += "microblazele64bsfpd" |
| 169 | BASE_LIB_tune-microblaze64lem = "lib/m64/le/m" | 499 | BASE_LIB_tune-microblazele64bsfpd = "lib/le/m64/bs/fpd" |
| 170 | TUNE_FEATURES_tune-microblaze64lem = "microblaze 64-bit multiply-low" | 500 | TUNE_FEATURES_tune-microblazele64bsfpd = "microblaze 64-bit barrel-shift fpu-hard" |
| 171 | PACKAGE_EXTRA_ARCHS_tune-microblaze64lem = "${TUNE_PKGARCH}" | 501 | PACKAGE_EXTRA_ARCHS_tune-microblazele64bsfpd = "${TUNE_PKGARCH}" |
| 172 | 502 | ||
| 173 | 503 | ||
| 174 | # m64/le/m/mh | 504 | # le/m64/bs/m/fpd |
| 175 | # CFLAGS: -m64 -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high | 505 | # CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mno-xl-soft-mul -mhard-float |
| 176 | DEFAULTTUNE_virtclass-multilib-libmbm64lemmh = "microblaze64lemmh" | 506 | DEFAULTTUNE_virtclass-multilib-libmblem64bsmfpd = "microblazele64bsmfpd" |
| 177 | 507 | ||
| 178 | AVAILTUNES += "microblaze64lemmh" | 508 | AVAILTUNES += "microblazele64bsmfpd" |
| 179 | BASE_LIB_tune-microblaze64lemmh = "lib/m64/le/m/mh" | 509 | BASE_LIB_tune-microblazele64bsmfpd = "lib/le/m64/bs/m/fpd" |
| 180 | TUNE_FEATURES_tune-microblaze64lemmh = "microblaze 64-bit multiply-high" | 510 | TUNE_FEATURES_tune-microblazele64bsmfpd = "microblaze 64-bit barrel-shift multiply-low fpu-hard" |
| 181 | PACKAGE_EXTRA_ARCHS_tune-microblaze64lemmh = "${TUNE_PKGARCH}" | 511 | PACKAGE_EXTRA_ARCHS_tune-microblazele64bsmfpd = "${TUNE_PKGARCH}" |
| 182 | 512 | ||
| 183 | 513 | ||
| 184 | # m64/bs/le | 514 | # le/m64/bs/p/m |
| 185 | # CFLAGS: -m64 -mxl-barrel-shift -mlittle-endian | 515 | # CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul |
| 186 | DEFAULTTUNE_virtclass-multilib-libmbm64bsle = "microblaze64bsle" | 516 | DEFAULTTUNE_virtclass-multilib-libmblem64bspm = "microblazele64bspm" |
| 187 | 517 | ||
| 188 | AVAILTUNES += "microblaze64bsle" | 518 | AVAILTUNES += "microblazele64bspm" |
| 189 | BASE_LIB_tune-microblaze64bsle = "lib/m64/bs/le" | 519 | BASE_LIB_tune-microblazele64bspm = "lib/le/m64/bs/p/m" |
| 190 | TUNE_FEATURES_tune-microblaze64bsle = "microblaze 64-bit barrel-shift" | 520 | TUNE_FEATURES_tune-microblazele64bspm = "microblaze 64-bit barrel-shift pattern-compare multiply-low" |
| 191 | PACKAGE_EXTRA_ARCHS_tune-microblaze64bsle = "${TUNE_PKGARCH}" | 521 | PACKAGE_EXTRA_ARCHS_tune-microblazele64bspm = "${TUNE_PKGARCH}" |
| 192 | 522 | ||
| 193 | 523 | ||
| 194 | # m64/bs/le/m | 524 | # le/m64/bs/p/fpd |
| 195 | # CFLAGS: -m64 -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul | 525 | # CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mhard-float |
| 196 | DEFAULTTUNE_virtclass-multilib-libmbm64bslem = "microblaze64bslem" | 526 | DEFAULTTUNE_virtclass-multilib-libmblem64bspfpd = "microblazele64bspfpd" |
| 197 | 527 | ||
| 198 | AVAILTUNES += "microblaze64bslem" | 528 | AVAILTUNES += "microblazele64bspfpd" |
| 199 | BASE_LIB_tune-microblaze64bslem = "lib/m64/bs/le/m" | 529 | BASE_LIB_tune-microblazele64bspfpd = "lib/le/m64/bs/p/fpd" |
| 200 | TUNE_FEATURES_tune-microblaze64bslem = "microblaze 64-bit barrel-shift multiply-low" | 530 | TUNE_FEATURES_tune-microblazele64bspfpd = "microblaze 64-bit barrel-shift pattern-compare fpu-hard" |
| 201 | PACKAGE_EXTRA_ARCHS_tune-microblaze64bslem = "${TUNE_PKGARCH}" | 531 | PACKAGE_EXTRA_ARCHS_tune-microblazele64bspfpd = "${TUNE_PKGARCH}" |
| 202 | 532 | ||
| 203 | 533 | ||
| 204 | # m64/bs/le/m/mh | 534 | # le/m64/bs/p/m/fpd |
| 205 | # CFLAGS: -m64 -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high | 535 | # CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float |
| 206 | DEFAULTTUNE_virtclass-multilib-libmbm64bslemmh = "microblaze64bslemmh" | 536 | DEFAULTTUNE_virtclass-multilib-libmblem64bspmfpd = "microblazele64bspmfpd" |
| 207 | 537 | ||
| 208 | AVAILTUNES += "microblaze64bslemmh" | 538 | AVAILTUNES += "microblazele64bspmfpd" |
| 209 | BASE_LIB_tune-microblaze64bslemmh = "lib/m64/bs/le/m/mh" | 539 | BASE_LIB_tune-microblazele64bspmfpd = "lib/le/m64/bs/p/m/fpd" |
| 210 | TUNE_FEATURES_tune-microblaze64bslemmh = "microblaze 64-bit barrel-shift multiply-high" | 540 | TUNE_FEATURES_tune-microblazele64bspmfpd = "microblaze 64-bit barrel-shift pattern-compare multiply-low fpu-hard" |
| 211 | PACKAGE_EXTRA_ARCHS_tune-microblaze64bslemmh = "${TUNE_PKGARCH}" | 541 | PACKAGE_EXTRA_ARCHS_tune-microblazele64bspmfpd = "${TUNE_PKGARCH}" |
diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-9/additional-microblaze-multilibs.patch b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-9/additional-microblaze-multilibs.patch new file mode 100644 index 00000000..a32045bc --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-9/additional-microblaze-multilibs.patch | |||
| @@ -0,0 +1,84 @@ | |||
| 1 | Change the multilib settings to match the expectations of Vitis and related. | ||
| 2 | |||
| 3 | The multilib list is as follows: | ||
| 4 | |||
| 5 | .; | ||
| 6 | le;@mlittle-endian | ||
| 7 | bs;@mxl-barrel-shift | ||
| 8 | p;@mxl-pattern-compare | ||
| 9 | m;@mno-xl-soft-mul | ||
| 10 | fpd;@mhard-float | ||
| 11 | m/fpd;@mno-xl-soft-mul@mhard-float | ||
| 12 | p/m;@mxl-pattern-compare@mno-xl-soft-mul | ||
| 13 | p/fpd;@mxl-pattern-compare@mhard-float | ||
| 14 | p/m/fpd;@mxl-pattern-compare@mno-xl-soft-mul@mhard-float | ||
| 15 | bs/p;@mxl-barrel-shift@mxl-pattern-compare | ||
| 16 | bs/m;@mxl-barrel-shift@mno-xl-soft-mul | ||
| 17 | bs/fpd;@mxl-barrel-shift@mhard-float | ||
| 18 | bs/m/fpd;@mxl-barrel-shift@mno-xl-soft-mul@mhard-float | ||
| 19 | bs/p/m;@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul | ||
| 20 | bs/p/fpd;@mxl-barrel-shift@mxl-pattern-compare@mhard-float | ||
| 21 | bs/p/m/fpd;@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul@mhard-float | ||
| 22 | le/m64;@mlittle-endian@m64 | ||
| 23 | le/bs;@mlittle-endian@mxl-barrel-shift | ||
| 24 | le/p;@mlittle-endian@mxl-pattern-compare | ||
| 25 | le/m;@mlittle-endian@mno-xl-soft-mul | ||
| 26 | le/fpd;@mlittle-endian@mhard-float | ||
| 27 | le/m/fpd;@mlittle-endian@mno-xl-soft-mul@mhard-float | ||
| 28 | le/p/m;@mlittle-endian@mxl-pattern-compare@mno-xl-soft-mul | ||
| 29 | le/p/fpd;@mlittle-endian@mxl-pattern-compare@mhard-float | ||
| 30 | le/p/m/fpd;@mlittle-endian@mxl-pattern-compare@mno-xl-soft-mul@mhard-float | ||
| 31 | le/bs/p;@mlittle-endian@mxl-barrel-shift@mxl-pattern-compare | ||
| 32 | le/bs/m;@mlittle-endian@mxl-barrel-shift@mno-xl-soft-mul | ||
| 33 | le/bs/fpd;@mlittle-endian@mxl-barrel-shift@mhard-float | ||
| 34 | le/bs/m/fpd;@mlittle-endian@mxl-barrel-shift@mno-xl-soft-mul@mhard-float | ||
| 35 | le/bs/p/m;@mlittle-endian@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul | ||
| 36 | le/bs/p/fpd;@mlittle-endian@mxl-barrel-shift@mxl-pattern-compare@mhard-float | ||
| 37 | le/bs/p/m/fpd;@mlittle-endian@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul@mhard-float | ||
| 38 | le/m64/bs;@mlittle-endian@m64@mxl-barrel-shift | ||
| 39 | le/m64/p;@mlittle-endian@m64@mxl-pattern-compare | ||
| 40 | le/m64/m;@mlittle-endian@m64@mno-xl-soft-mul | ||
| 41 | le/m64/fpd;@mlittle-endian@m64@mhard-float | ||
| 42 | le/m64/m/fpd;@mlittle-endian@m64@mno-xl-soft-mul@mhard-float | ||
| 43 | le/m64/p/m;@mlittle-endian@m64@mxl-pattern-compare@mno-xl-soft-mul | ||
| 44 | le/m64/p/fpd;@mlittle-endian@m64@mxl-pattern-compare@mhard-float | ||
| 45 | le/m64/p/m/fpd;@mlittle-endian@m64@mxl-pattern-compare@mno-xl-soft-mul@mhard-float | ||
| 46 | le/m64/bs/p;@mlittle-endian@m64@mxl-barrel-shift@mxl-pattern-compare | ||
| 47 | le/m64/bs/m;@mlittle-endian@m64@mxl-barrel-shift@mno-xl-soft-mul | ||
| 48 | le/m64/bs/fpd;@mlittle-endian@m64@mxl-barrel-shift@mhard-float | ||
| 49 | le/m64/bs/m/fpd;@mlittle-endian@m64@mxl-barrel-shift@mno-xl-soft-mul@mhard-float | ||
| 50 | le/m64/bs/p/m;@mlittle-endian@m64@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul | ||
| 51 | le/m64/bs/p/fpd;@mlittle-endian@m64@mxl-barrel-shift@mxl-pattern-compare@mhard-float | ||
| 52 | le/m64/bs/p/m/fpd;@mlittle-endian@m64@mxl-barrel-shift@mxl-pattern-compare@mno-xl-soft-mul@mhard-float | ||
| 53 | |||
| 54 | As part of this the order of the multilibs was changes from upstream to make | ||
| 55 | it easier to avoid big-endian m64, which is not supported by the toolchain. | ||
| 56 | |||
| 57 | Signed-off-by: Mark Hatle <mark.hatle@xilinx.com> | ||
| 58 | |||
| 59 | diff -ur gcc-9.2.0.orig/gcc/config/microblaze/t-microblaze gcc-9.2.0/gcc/config/microblaze/t-microblaze | ||
| 60 | --- gcc-9.2.0.orig/gcc/config/microblaze/t-microblaze 2020-02-07 09:46:48.286261214 -0800 | ||
| 61 | +++ gcc-9.2.0/gcc/config/microblaze/t-microblaze 2020-02-10 17:07:52.440598949 -0800 | ||
| 62 | @@ -1,16 +1,11 @@ | ||
| 63 | -MULTILIB_OPTIONS = m64 mxl-barrel-shift mlittle-endian mno-xl-soft-mul mxl-multiply-high | ||
| 64 | -MULTILIB_DIRNAMES = m64 bs le m mh | ||
| 65 | -MULTILIB_EXCEPTIONS = *m64/mxl-multiply-high mxl-multiply-high | ||
| 66 | -MULTILIB_EXCEPTIONS += *m64 | ||
| 67 | -MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift | ||
| 68 | -MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul | ||
| 69 | -MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mno-xl-soft-mul | ||
| 70 | -MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul | ||
| 71 | -MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mno-xl-soft-mul/mxl-multiply-high | ||
| 72 | -MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul/mxl-multiply-high | ||
| 73 | +MULTILIB_OPTIONS = mlittle-endian m64 mxl-barrel-shift mxl-pattern-compare mno-xl-soft-mul mhard-float | ||
| 74 | +MULTILIB_DIRNAMES = le m64 bs p m fpd | ||
| 75 | +MULTILIB_EXCEPTIONS = mxl-multiply-high | ||
| 76 | MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high | ||
| 77 | MULTILIB_EXCEPTIONS += *mlittle-endian/mxl-multiply-high mxl-multiply-high | ||
| 78 | -MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mlittle-endian/mxl-multiply-high | ||
| 79 | +MULTILIB_EXCEPTIONS += *mxl-pattern-compare*/*mxl-multiply-high* | ||
| 80 | +# Big endian m64 is not supported | ||
| 81 | +MULTILIB_EXCEPTIONS += m64* | ||
| 82 | |||
| 83 | # Extra files | ||
| 84 | microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \ | ||
diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_9.%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_9.%.bbappend new file mode 100644 index 00000000..24abdc11 --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_9.%.bbappend | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | # Add MicroBlaze Patches (only when using MicroBlaze) | ||
| 2 | FILESEXTRAPATHS_append_microblaze_xilinx-standalone := "${THISDIR}/gcc-9:" | ||
| 3 | SRC_URI_append_microblaze_xilinx-standalone = " \ | ||
| 4 | file://additional-microblaze-multilibs.patch \ | ||
| 5 | " | ||
diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert-head.sh b/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert-head.sh new file mode 100755 index 00000000..b59dff1e --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert-head.sh | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | #! /bin/bash | ||
| 2 | |||
| 3 | # Call using: | ||
| 4 | #../microblaze/sysroots/x86_64-oesdk-linux/usr/bin/microblaze-xilinx-elf/microblaze-xilinx-elf-gcc -print-multi-lib | mb-convert-head.sh | ||
| 5 | |||
| 6 | # Then copy the output into the special microblaze-tc BSP | ||
| 7 | |||
| 8 | sed -e 's,;, ,' | | ||
| 9 | while read mlib args ; do | ||
| 10 | if [ $mlib = '.' ]; then | ||
| 11 | continue | ||
| 12 | fi | ||
| 13 | multilib="libmb$(echo $mlib | sed -e 's,/,,g')" | ||
| 14 | |||
| 15 | echo 'MULTILIBS += "multilib:'${multilib}'"' | ||
| 16 | done | ||
diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert.sh b/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert.sh new file mode 100755 index 00000000..e05145ec --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/gcc/mb-convert.sh | |||
| @@ -0,0 +1,60 @@ | |||
| 1 | #! /bin/bash | ||
| 2 | |||
| 3 | # Call using: | ||
| 4 | #../microblaze/sysroots/x86_64-oesdk-linux/usr/bin/microblaze-xilinx-elf/microblaze-xilinx-elf-gcc -print-multi-lib | mb-convert.sh | ||
| 5 | |||
| 6 | # Then copy the output into the special microblaze-tc BSP | ||
| 7 | |||
| 8 | mlib_to_feature() { | ||
| 9 | feature_base="microblaze" | ||
| 10 | feature_endian=" bigendian" | ||
| 11 | feature_barrel="" | ||
| 12 | feature_pattern="" | ||
| 13 | feature_multiply="" | ||
| 14 | feature_multiplyhigh="" | ||
| 15 | feature_sixtyfour="" | ||
| 16 | feature_math="" | ||
| 17 | while read feature ; do | ||
| 18 | case $feature in | ||
| 19 | le) feature_endian="";; | ||
| 20 | bs) feature_barrel=" barrel-shift";; | ||
| 21 | p) feature_pattern=" pattern-compare";; | ||
| 22 | m) if [ -z ${feature_multiplyhigh} ]; then feature_multiply=" multiply-low" ; fi ;; | ||
| 23 | mh) feature_multiply="" ; feature_multiplyhigh=" multiply-high";; | ||
| 24 | m64) feature_sixtyfour=" 64-bit";; | ||
| 25 | fpd) feature_math=" fpu-hard";; | ||
| 26 | *) echo "UNKNOWN $feature";; | ||
| 27 | esac | ||
| 28 | done | ||
| 29 | echo "${feature_base}${feature_sixtyfour}${feature_endian}${feature_barrel}${feature_pattern}${feature_multiply}${feature_multiplyhigh}${feature_math}" | ||
| 30 | } | ||
| 31 | |||
| 32 | sed -e 's,;, ,' | | ||
| 33 | while read mlib args ; do | ||
| 34 | if [ $mlib = '.' ]; then | ||
| 35 | echo '# Base configuration' | ||
| 36 | echo '# CFLAGS:' | ||
| 37 | echo 'DEFAULTTUNE = "microblaze"' | ||
| 38 | echo | ||
| 39 | echo 'AVAILTUNES += "microblaze"' | ||
| 40 | echo 'BASE_LIB_tune-microblaze = "lib"' | ||
| 41 | echo 'TUNE_FEATURES_tune-microblaze = "microblaze bigendian"' | ||
| 42 | echo 'PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}"' | ||
| 43 | continue | ||
| 44 | fi | ||
| 45 | |||
| 46 | cflags=$(echo $args | sed -e 's,@, -,g') | ||
| 47 | multilib="libmb$(echo $mlib | sed -e 's,/,,g')" | ||
| 48 | tune="microblaze$(echo $mlib | sed -e 's,m64,64,' -e 's,/,,g')" | ||
| 49 | features=$(echo $mlib | sed -e 's,/, ,g' | xargs -n 1 echo | mlib_to_feature) | ||
| 50 | echo | ||
| 51 | echo | ||
| 52 | echo "# $mlib" | ||
| 53 | echo "# CFLAGS:${cflags}" | ||
| 54 | echo "DEFAULTTUNE_virtclass-multilib-$multilib = \"$tune\"" | ||
| 55 | echo | ||
| 56 | echo "AVAILTUNES += \"$tune\"" | ||
| 57 | echo "BASE_LIB_tune-$tune = \"lib/$mlib\"" | ||
| 58 | echo "TUNE_FEATURES_tune-$tune = \"${features}\"" | ||
| 59 | echo "PACKAGE_EXTRA_ARCHS_tune-$tune = \"\${TUNE_PKGARCH}\"" | ||
| 60 | done | ||
