Andrew Geissler | 84ad7c5 | 2020-06-27 00:00:16 -0500 | [diff] [blame] | 1 | require conf/multilib.conf |
| 2 | require conf/machine/include/tune-cortexrm.inc |
| 3 | require conf/machine/include/baremetal-tc.conf |
| 4 | |
| 5 | # Define all of the multilibs supproted by this configuration |
| 6 | MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" |
| 7 | |
| 8 | MULTILIBS = "multilib:libarmv5tesoftfp multilib:libarmv5tehard" |
| 9 | MULTILIBS += "multilib:libnofp" |
| 10 | MULTILIBS += "multilib:libv7nofp multilib:libv7fpsoftfp multilib:libv7fphard" |
| 11 | MULTILIBS += "multilib:libv6mnofp" |
| 12 | MULTILIBS += "multilib:libv7mnofp" |
| 13 | MULTILIBS += "multilib:libv7emnofp multilib:libv7emfpsoftfp" |
| 14 | MULTILIBS += "multilib:libv7emfphard multilib:libv7emdpsoftfp" |
| 15 | MULTILIBS += "multilib:libv7emdphard" |
| 16 | MULTILIBS += "multilib:libv8mbasenofp" |
| 17 | MULTILIBS += "multilib:libv8mmainnofp multilib:libv8mmainfpsoftfp multilib:libv8mmainfphard multilib:libv8mmaindpsoftfp multilib:libv8mmaindphard" |
| 18 | |
| 19 | TUNE_CCARGS = "${TUNE_CCARGS_tune-${DEFAULTTUNE}}" |
| 20 | TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" |
| 21 | |
| 22 | # Base configuration |
| 23 | # CFLAGS: |
| 24 | DEFAULTTUNE = "armrm" |
| 25 | |
| 26 | AVAILTUNES += "armrm" |
| 27 | PACKAGE_EXTRA_ARCHS_tune-armrm = "${TUNE_PKGARCH_tune-armrm}" |
| 28 | BASE_LIB_tune-armrm = "lib" |
| 29 | TUNE_FEATURES_tune-armrm = "arm armrm" |
| 30 | TUNE_CCARGS_tune-armrm = "" |
| 31 | TUNE_PKGARCH_tune-armrm = "armrm" |
| 32 | |
| 33 | |
| 34 | # arm/v5te/softfp |
| 35 | # CFLAGS: -marm -march=armv5te+fp -mfloat-abi=softfp |
| 36 | DEFAULTTUNE_virtclass-multilib-libarmv5tesoftfp = "armv5tesoftfp" |
| 37 | |
| 38 | AVAILTUNES += "armv5tesoftfp" |
| 39 | PACKAGE_EXTRA_ARCHS_tune-armv5tesoftfp = "${TUNE_PKGARCH_tune-armv5tesoftfp}" |
| 40 | BASE_LIB_tune-armv5tesoftfp = "lib/arm/v5te/softfp" |
| 41 | TUNE_FEATURES_tune-armv5tesoftfp = "arm armrm" |
| 42 | TUNE_CCARGS_tune-armv5tesoftfp = "-marm -march=armv5te+fp -mfloat-abi=softfp" |
| 43 | TUNE_PKGARCH_tune-armv5tesoftfp = "armv5tefp" |
| 44 | |
| 45 | |
| 46 | # arm/v5te/hard |
| 47 | # CFLAGS: -marm -march=armv5te+fp -mfloat-abi=hard |
| 48 | DEFAULTTUNE_virtclass-multilib-libarmv5tehard = "armv5tehard" |
| 49 | |
| 50 | AVAILTUNES += "armv5tehard" |
| 51 | PACKAGE_EXTRA_ARCHS_tune-armv5tehard = "${TUNE_PKGARCH_tune-armv5tehard}" |
| 52 | BASE_LIB_tune-armv5tehard = "lib/arm/v5te/hard" |
| 53 | TUNE_FEATURES_tune-armv5tehard = "arm armrm" |
| 54 | TUNE_CCARGS_tune-armv5tehard = "-marm -march=armv5te+fp -mfloat-abi=hard" |
| 55 | TUNE_PKGARCH_tune-armv5tehard = "armv5tefphf" |
| 56 | |
| 57 | |
| 58 | # thumb/nofp |
| 59 | # CFLAGS: -mthumb -mfloat-abi=soft |
| 60 | DEFAULTTUNE_virtclass-multilib-libnofp = "armnofp" |
| 61 | |
| 62 | AVAILTUNES += "armnofp" |
| 63 | PACKAGE_EXTRA_ARCHS_tune-armnofp = "${TUNE_PKGARCH_tune-armnofp}" |
| 64 | BASE_LIB_tune-armnofp = "lib/thumb/nofp" |
| 65 | TUNE_FEATURES_tune-armnofp = "arm armrm" |
| 66 | TUNE_CCARGS_tune-armnofp = "-mthumb -mfloat-abi=soft" |
| 67 | TUNE_PKGARCH_tune-armnofp = "armt" |
| 68 | |
| 69 | |
| 70 | # thumb/v7/nofp |
| 71 | # CFLAGS: -mthumb -march=armv7 -mfloat-abi=soft |
| 72 | DEFAULTTUNE_virtclass-multilib-libv7nofp = "armv7nofp" |
| 73 | |
| 74 | AVAILTUNES += "armv7nofp" |
| 75 | PACKAGE_EXTRA_ARCHS_tune-armv7nofp = "${TUNE_PKGARCH_tune-armv7nofp}" |
| 76 | BASE_LIB_tune-armv7nofp = "lib/thumb/v7/nofp" |
| 77 | TUNE_FEATURES_tune-armv7nofp ="arm armrm" |
| 78 | TUNE_CCARGS_tune-armv7nofp = "-mthumb -march=armv7 -mfloat-abi=soft" |
| 79 | TUNE_PKGARCH_tune-armv7nofp = "armv7t" |
| 80 | |
| 81 | |
| 82 | # thumb/v7+fp/softfp |
| 83 | # CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=softfp |
| 84 | DEFAULTTUNE_virtclass-multilib-libv7fpsoftfp = "armv7fpsoftfp" |
| 85 | |
| 86 | AVAILTUNES += "armv7fpsoftfp" |
| 87 | PACKAGE_EXTRA_ARCHS_tune-armv7fpsoftfp = "${TUNE_PKGARCH_tune-armv7fpsoftfp}" |
| 88 | BASE_LIB_tune-armv7fpsoftfp = "lib/thumb/v7+fp/softfp" |
| 89 | TUNE_FEATURES_tune-armv7fpsoftfp ="arm armrm" |
| 90 | TUNE_CCARGS_tune-armv7fpsoftfp = "-mthumb -march=armv7+fp -mfloat-abi=softfp" |
| 91 | TUNE_PKGARCH_tune-armv7fpsoftfp = "armv7fpt" |
| 92 | |
| 93 | |
| 94 | # thumb/v7+fp/hard |
| 95 | # CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=hard |
| 96 | DEFAULTTUNE_virtclass-multilib-libv7fphard = "armv7fphard" |
| 97 | |
| 98 | AVAILTUNES += "armv7fphard" |
| 99 | PACKAGE_EXTRA_ARCHS_tune-armv7fphard = "${TUNE_PKGARCH_tune-armv7fphard}" |
| 100 | BASE_LIB_tune-armv7fphard = "lib/thumb/v7+fp/hard" |
| 101 | TUNE_FEATURES_tune-armv7fphard ="arm armrm" |
| 102 | TUNE_CCARGS_tune-armv7fphard = "-mthumb -march=armv7+fp -mfloat-abi=hard" |
| 103 | TUNE_PKGARCH_tune-armv7fphard = "armv7fpthf" |
| 104 | |
| 105 | |
| 106 | # thumb/v6-m/nofp |
| 107 | # CFLAGS: -mthumb -march=armv6s-m -mfloat-abi=soft |
| 108 | DEFAULTTUNE_virtclass-multilib-libv6mnofp = "armv6mnofp" |
| 109 | |
| 110 | # Workaround for this multilib in newlib |
| 111 | # newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip |
| 112 | EXTRA_OECONF_append_pn-libv6mnofp-newlib = " --disable-newlib-supplied-syscalls" |
| 113 | |
| 114 | AVAILTUNES += "armv6mnofp" |
| 115 | PACKAGE_EXTRA_ARCHS_tune-armv6mnofp = "${TUNE_PKGARCH_tune-armv6mnofp}" |
| 116 | BASE_LIB_tune-armv6mnofp = "lib/thumb/v6-m/nofp" |
| 117 | TUNE_FEATURES_tune-armv6mnofp ="arm armrm" |
| 118 | TUNE_CCARGS_tune-armv6mnofp = "-mthumb -march=armv6s-m -mfloat-abi=soft" |
| 119 | TUNE_PKGARCH_tune-armv6mnofp = "armv6smt" |
| 120 | |
| 121 | |
| 122 | # thumb/v7-m/nofp |
| 123 | # CFLAGS: -mthumb -march=armv7-m -mfloat-abi=soft |
| 124 | DEFAULTTUNE_virtclass-multilib-libv7mnofp = "armv7mnofp" |
| 125 | |
| 126 | AVAILTUNES += "armv7mnofp" |
| 127 | PACKAGE_EXTRA_ARCHS_tune-armv7mnofp = "${TUNE_PKGARCH_tune-armv7mnofp}" |
| 128 | BASE_LIB_tune-armv7mnofp = "lib/thumb/v7-m/nofp" |
| 129 | TUNE_FEATURES_tune-armv7mnofp ="arm armrm" |
| 130 | TUNE_CCARGS_tune-armv7mnofp = "-mthumb -march=armv7-m -mfloat-abi=soft" |
| 131 | TUNE_PKGARCH_tune-armv7mnofp = "armv7mt" |
| 132 | |
| 133 | |
| 134 | # thumb/v7e-m/nofp |
| 135 | # CFLAGS: -mthumb -march=armv7e-m -mfloat-abi=soft |
| 136 | DEFAULTTUNE_virtclass-multilib-libv7emnofp = "armv7emnofp" |
| 137 | |
| 138 | AVAILTUNES += "armv7emnofp" |
| 139 | PACKAGE_EXTRA_ARCHS_tune-armv7emnofp = "${TUNE_PKGARCH_tune-armv7emnofp}" |
| 140 | BASE_LIB_tune-armv7emnofp = "lib/thumb/v7e-m/nofp" |
| 141 | TUNE_FEATURES_tune-armv7emnofp ="arm armrm" |
| 142 | TUNE_CCARGS_tune-armv7emnofp = "-mthumb -march=armv7e-m -mfloat-abi=soft" |
| 143 | TUNE_PKGARCH_tune-armv7emnofp = "armv7emt" |
| 144 | |
| 145 | |
| 146 | # thumb/v7e-m+fp/softfp |
| 147 | # CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=softfp |
| 148 | DEFAULTTUNE_virtclass-multilib-libv7emfpsoftfp = "armv7emfpsoftfp" |
| 149 | |
| 150 | AVAILTUNES += "armv7emfpsoftfp" |
| 151 | PACKAGE_EXTRA_ARCHS_tune-armv7emfpsoftfp = "${TUNE_PKGARCH_tune-armv7emfpsoftfp}" |
| 152 | BASE_LIB_tune-armv7emfpsoftfp = "lib/thumb/v7e-m+fp/softfp" |
| 153 | TUNE_FEATURES_tune-armv7emfpsoftfp ="arm armrm" |
| 154 | TUNE_CCARGS_tune-armv7emfpsoftfp = "-mthumb -march=armv7e-m+fp -mfloat-abi=softfp" |
| 155 | TUNE_PKGARCH_tune-armv7emfpsoftfp = "armv7emfpt" |
| 156 | |
| 157 | |
| 158 | # thumb/v7e-m+fp/hard |
| 159 | # CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=hard |
| 160 | DEFAULTTUNE_virtclass-multilib-libv7emfphard = "armv7emfphard" |
| 161 | |
| 162 | AVAILTUNES += "armv7emfphard" |
| 163 | PACKAGE_EXTRA_ARCHS_tune-armv7emfphard = "${TUNE_PKGARCH_tune-armv7emfphard}" |
| 164 | BASE_LIB_tune-armv7emfphard = "lib/thumb/v7e-m+fp/hard" |
| 165 | TUNE_FEATURES_tune-armv7emfphard ="arm armrm" |
| 166 | TUNE_CCARGS_tune-armv7emfphard = "-mthumb -march=armv7e-m+fp -mfloat-abi=hard" |
| 167 | TUNE_PKGARCH_tune-armv7emfphard = "armv7emfpthf" |
| 168 | |
| 169 | |
| 170 | # thumb/v7e-m+dp/softfp |
| 171 | # CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp |
| 172 | DEFAULTTUNE_virtclass-multilib-libv7emdpsoftfp = "armv7emdpsoftfp" |
| 173 | |
| 174 | AVAILTUNES += "armv7emdpsoftfp" |
| 175 | PACKAGE_EXTRA_ARCHS_tune-armv7emdpsoftfp = "${TUNE_PKGARCH_tune-armv7emdpsoftfp}" |
| 176 | BASE_LIB_tune-armv7emdpsoftfp = "lib/thumb/v7e-m+dp/softfp" |
| 177 | TUNE_FEATURES_tune-armv7emdpsoftfp ="arm armrm" |
| 178 | TUNE_CCARGS_tune-armv7emdpsoftfp = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp" |
| 179 | TUNE_PKGARCH_tune-armv7emdpsoftfp = "armv7emdp" |
| 180 | |
| 181 | # thumb/v7e-m+dp/hard |
| 182 | # CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard |
| 183 | DEFAULTTUNE_virtclass-multilib-libv7emdphard = "armv7emdphard" |
| 184 | |
| 185 | AVAILTUNES += "armv7emdphard" |
| 186 | PACKAGE_EXTRA_ARCHS_tune-armv7emdphard = "${TUNE_PKGARCH_tune-armv7emdphard}" |
| 187 | BASE_LIB_tune-armv7emdphard = "lib/thumb/v7e-m+dp/hard" |
| 188 | TUNE_FEATURES_tune-armv7emdphard ="arm armrm" |
| 189 | TUNE_CCARGS_tune-armv7emdphard = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard" |
| 190 | TUNE_PKGARCH_tune-armv7emdphard = "armv7emdpthf" |
| 191 | |
| 192 | |
| 193 | # thumb/v8-m.base/nofp |
| 194 | # CFLAGS: -mthumb -march=armv8-m.base -mfloat-abi=soft |
| 195 | DEFAULTTUNE_virtclass-multilib-libv8mbasenofp = "armv8mbasenofp" |
| 196 | |
| 197 | # Workaround for this multilib in newlib |
| 198 | # newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip' |
| 199 | EXTRA_OECONF_append_pn-libv8mbasenofp-newlib = " --disable-newlib-supplied-syscalls" |
| 200 | |
| 201 | AVAILTUNES += "armv8mbasenofp" |
| 202 | PACKAGE_EXTRA_ARCHS_tune-armv8mbasenofp = "${TUNE_PKGARCH_tune-armv8mbasenofp}" |
| 203 | BASE_LIB_tune-armv8mbasenofp = "lib/thumb/v8-m.base/nofp" |
| 204 | TUNE_FEATURES_tune-armv8mbasenofp ="arm armrm" |
| 205 | TUNE_CCARGS_tune-armv8mbasenofp = "-mthumb -march=armv8-m.base -mfloat-abi=soft" |
| 206 | TUNE_PKGARCH_tune-armv8mbasenofp = "armv8mbaset" |
| 207 | |
| 208 | # thumb/v8-m.main/nofp |
| 209 | # CFLAGS: -mthumb -march=armv8-m.main -mfloat-abi=soft |
| 210 | DEFAULTTUNE_virtclass-multilib-libv8mmainnofp = "armv8mmainnofp" |
| 211 | |
| 212 | AVAILTUNES += "armv8mmainnofp" |
| 213 | PACKAGE_EXTRA_ARCHS_tune-armv8mmainnofp = "${TUNE_PKGARCH_tune-armv8mmainnofp}" |
| 214 | BASE_LIB_tune-armv8mmainnofp = "lib/thumb/v8-m.main/nofp" |
| 215 | TUNE_FEATURES_tune-armv8mmainnofp ="arm armrm" |
| 216 | TUNE_CCARGS_tune-armv8mmainnofp = "-mthumb -march=armv8-m.main -mfloat-abi=soft" |
| 217 | TUNE_PKGARCH_tune-armv8mmainnofp = "armv8mmaint" |
| 218 | |
| 219 | |
| 220 | # thumb/v8-m.main+fp/softfp |
| 221 | # CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=softfp |
| 222 | DEFAULTTUNE_virtclass-multilib-libv8mmainfpsoftfp = "armv8mmainfpsoftfp" |
| 223 | |
| 224 | AVAILTUNES += "armv8mmainfpsoftfp" |
| 225 | PACKAGE_EXTRA_ARCHS_tune-armv8mmainfpsoftfp = "${TUNE_PKGARCH_tune-armv8mmainfpsoftfp}" |
| 226 | BASE_LIB_tune-armv8mmainfpsoftfp = "lib/thumb/v8-m.main+fp/softfp" |
| 227 | TUNE_FEATURES_tune-armv8mmainfpsoftfp ="arm armrm" |
| 228 | TUNE_CCARGS_tune-armv8mmainfpsoftfp = "-mthumb -march=armv8-m.main+fp -mfloat-abi=softfp" |
| 229 | TUNE_PKGARCH_tune-armv8mmainfpsoftfp = "armv8mmainfpt" |
| 230 | |
| 231 | # thumb/v8-m.main+fp/hard |
| 232 | # CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=hard |
| 233 | DEFAULTTUNE_virtclass-multilib-libv8mmainfphard = "armv8mmainfphard" |
| 234 | |
| 235 | AVAILTUNES += "armv8mmainfphard" |
| 236 | PACKAGE_EXTRA_ARCHS_tune-armv8mmainfphard = "${TUNE_PKGARCH_tune-armv8mmainfphard}" |
| 237 | BASE_LIB_tune-armv8mmainfphard = "lib/thumb/v8-m.main+fp/hard" |
| 238 | TUNE_FEATURES_tune-armv8mmainfphard ="arm armrm" |
| 239 | TUNE_CCARGS_tune-armv8mmainfphard = "-mthumb -march=armv8-m.main+fp -mfloat-abi=hard" |
| 240 | TUNE_PKGARCH_tune-armv8mmainfphard = "armv8mmainfpthf" |
| 241 | |
| 242 | |
| 243 | # thumb/v8-m.main+dp/softfp |
| 244 | # CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp |
| 245 | DEFAULTTUNE_virtclass-multilib-libv8mmaindpsoftfp = "armv8mmaindpsoftfp" |
| 246 | |
| 247 | AVAILTUNES += "armv8mmaindpsoftfp" |
| 248 | PACKAGE_EXTRA_ARCHS_tune-armv8mmaindpsoftfp = "${TUNE_PKGARCH_tune-armv8mmaindpsoftfp}" |
| 249 | BASE_LIB_tune-armv8mmaindpsoftfp = "lib/thumb/v8-m.main+dp/softfp" |
| 250 | TUNE_FEATURES_tune-armv8mmaindpsoftfp ="arm armrm" |
| 251 | TUNE_CCARGS_tune-armv8mmaindpsoftfp = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp" |
| 252 | TUNE_PKGARCH_tune-armv8mmaindpsoftfp = "armv8mmainfpdpt" |
| 253 | |
| 254 | |
| 255 | # thumb/v8-m.main+dp/hard |
| 256 | # CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard |
| 257 | DEFAULTTUNE_virtclass-multilib-libv8mmaindphard = "armv8mmaindphard" |
| 258 | |
| 259 | AVAILTUNES += "armv8mmaindphard" |
| 260 | PACKAGE_EXTRA_ARCHS_tune-armv8mmaindphard = "${TUNE_PKGARCH_tune-armv8mmaindphard}" |
| 261 | BASE_LIB_tune-armv8mmaindphard = "lib/thumb/v8-m.main+dp/hard" |
| 262 | TUNE_FEATURES_tune-armv8mmaindphard ="arm armrm" |
| 263 | TUNE_CCARGS_tune-armv8mmaindphard = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard" |
| 264 | TUNE_PKGARCH_tune-armv8mmaindphard = "armv8mmainfpdpthf" |