Commit Graph

152 Commits

Author SHA1 Message Date
Christopher Larson
a45cbbcfaa layer.conf: set LAYERSERIES_COMPAT
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2018-04-12 02:45:26 +05:00
Christopher Larson
0ae4ab6253 layer.conf: always inherit external-common to be able to parse
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2018-03-15 01:54:04 +05:00
Christopher Larson
c308682978 tcmode: add tcmode- bits to OVERRIDES
This eases the many checks against TCMODE we need to do for yocto
compliance.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2018-03-15 01:53:50 +05:00
Christopher Larson
da9cfa7d38 external-common.bbclass: fix external_run when not enabled
This returns immediately with 'UNKNOWN' if the external toolchain isn't
enabled, and also immediately adjusts sys.path regardless of OE_IMPORTS
handling to avoid the over-reliance upon that mechanism.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2018-03-14 22:46:17 +05:00
Christopher Larson
3cceb0317d tcmode: drop pnblacklist of linux-libc-headers
The blacklist isn't necessary. We already provide the virtual, but if
someone wants the real thing, it shouldn't be harmful to allow it to
build.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2018-03-14 22:42:20 +05:00
Christopher Larson
340868ceda tcmode: default to gdb, not gdbserver-external
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2018-03-14 22:41:52 +05:00
Christopher Larson
52e9e14cb4 tcmode: add to gcc compiler component search path
This lets the cross gcc locate the binaries produced by binutils-cross.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2018-03-03 01:22:26 +05:00
Christopher Larson
7e59a345f5 tcmode: drop binutils-cross from PNBLACKLIST_DYNAMIC
We need this to allow the user to specify PREFERRED_PROVIDER for
binutils-cross.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2018-03-03 01:21:53 +05:00
Christopher Larson
f7ea27eaf3 linux-libc-headers: merge back into glibc
We don't want to encourage use of alternate versions of this recipe, there are
better ways to add additional headers.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2017-06-21 02:57:40 +05:00
Christopher Larson
6160b16947 Update for sourcery -> external-toolchain layer name
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2017-06-16 10:09:17 +05:00
Christopher Larson
066a0e04ca Merge remote-tracking branch 'origin/morty' into master
* origin/morty:
  tcmode: use SOURCERY_TOOLCHAIN_VERSION for the build cfg summary
  sourcery-tuning.inc: make assembler flags e6500-64b specific
2017-02-16 11:00:13 -07:00
Christopher Larson
95c616770e tcmode: use SOURCERY_TOOLCHAIN_VERSION for the build cfg summary
This makes it clear that this refers to the toolchain, not the CodeBench IDE.

JIRA: SB-8699

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2017-01-27 12:52:08 -07:00
Fahad Arslan
d66483680e sourcery-tuning.inc: make assembler flags e6500-64b specific
-a64 and -me6500 are PowerPC architecture-specific assembler flags
only intended for 64bit mode of e6500 core.
-a64 - generates ELF64 or XCOFF64.
-me6500 - generates code for Freescale e6500 core complex.

Jira ID: http://jira.alm.mentorg.com:8080/browse/SIEJIR-3452

Signed-off-by: Fahad Arslan <Fahad_Arslan@mentor.com>
2017-01-23 21:44:32 +05:00
Christopher Larson
455bf111e5 Merge remote-tracking branch 'origin/morty' into master
* origin/morty:
  Revert "Drop now-unnecessary <pkg>-dbg bits"
  external-toolchain: also inhibit debug split
  gcc-runtime-external: fix inclusion of {omp,openacc}.h
  glibc-external: keep libmvec
  glibc-external: also remove ${base_libdir}/*_nonshared.a
  glibc-external: fix libm* fixup
  Don't alter GLIBC_GENERATE_LOCALES for nativesdk
  buildtools-tarball: ignore TOOLCHAIN_TARGET_TASK_append
  tcmode: change gdbserver default to gdbserver-external
  gdbserver-external: update SUMMARY for gdbserver, not gdb
  gdbserver-external: drop bits that belong with gdb, not gdbserver
  perl-ptest: remove runtime dep on libssp
  tcmode: fix x32 BASELIB
  tcmode: fix x32 LDEMULATION
2017-01-12 12:39:15 -07:00
Christopher Larson
1507b72191 Merge pull request #149 from kergoth/x32
Fix two issues with x32 builds
2016-12-22 09:40:50 -07:00
Christopher Larson
b034153aac Don't alter GLIBC_GENERATE_LOCALES for nativesdk
We only want this to take effect for the locales for the external toolchain,
not those generated and used for nativesdk, otherwise we break the
buildtools-tarball build.

JIRA: SB-8391

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-12-15 21:58:44 -07:00
Christopher Larson
2082315ed0 Drop the change of TARGET_PREFIX
Since the external-cross recipes link/wrap the binaries already, there's no
actual need to override TARGET_PREFIX anymore.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-12-14 20:16:06 -07:00
Christopher Larson
87616f2b20 tcmode: change gdbserver default to gdbserver-external
Using the one already available with our toolchain makes a great deal of
sense, as it's a known quantity. The only reason we switched to gdb was due to
conflicts between gdb and gdbserver-external, but that issue has been
resolved.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-12-06 20:03:31 -07:00
Christopher Larson
6a9eaae40b tcmode: fix x32 BASELIB
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-11-29 14:44:50 -07:00
Christopher Larson
5afc50391f tcmode: fix x32 LDEMULATION
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-11-29 14:42:12 -07:00
Christopher Larson
2a0a55d61a tcmode: add compilation toolchain sanity test
It's not ideal to do this for every build, but it's not terrible, either, and
is worth the cost to get an error up front if there's a configuration or
licensing problem. master deals with this more cleanly.

JIRA: SB-8257

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-11-04 11:10:14 -07:00
Christopher Larson
275b4f5c3a Revamp the sanity testing
- Reworked to function the way sanity.bbclass does, rather than running it
  every time we do a build
- Add sanity check to test trivial compilation

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-11-03 13:48:18 -07:00
Christopher Larson
51fa228fc3 tcmode: merge in codebench.bbclass
We were hitting issues due to non-deterministic ordering of ConfigParsed event
handlers between codebench.bbclass and the tcmode. To avoid this, consolidate
the two and use a single handler.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-11-03 13:05:12 -07:00
Christopher Larson
48a38a84d2 tcmode: use inline python for EXTERNAL_TARGET_SYSTEMS
This helps to avoid ordering issues.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-11-03 13:05:12 -07:00
Noor-Ahsan
6455f012f7 Merge pull request #141 from MentorEmbedded/avoid-32-bit-pseudo-deps-for-64-bit-exttc
tcmode: disable 32-bit pseudo for 64-bit codebench
2016-11-02 14:30:25 +05:00
Christopher Larson
8beb762f87 tcmode: add EXTERNAL_TARGET_SYS to BUILDCFG_VARS
It's useful to know which target triplet/system was selected by the logic in
the tcmode file, as it searches EXTERNAL_TOOLCHAIN to determine which to use.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-10-31 15:05:08 -07:00
Christopher Larson
b10e0d438b tcmode: disable 32-bit pseudo for 64-bit codebench
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-10-29 18:39:18 -07:00
Christopher Larson
ff09932eb4 tcmode: drop old triplets/prefixes
Per @Noor-Ahsan, drop old unsupported lite toolchain triplets.

JIRA: SB-8226

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-10-17 09:09:41 -07:00
Christopher Larson
fbf6ffdc72 Add bits to handle the new codebench layout
If the user hasn't set EXTERNAL_TOOLCHAIN, but CODEBENCH_PATH is set, then we
automatically set both EXTERNAL_TOOLCHAIN and EXTERNAL_TARGET_SYS based on the
installed toolchains in CODEBENCH_PATH/../toolchains.

This adds a new variable, rather than allowing EXTERNAL_TOOLCHAIN to point to
CodeBench instead of the actual toolchain path, to keep the clean separation
between the generic toolchain logic and that which is specific to our
toolchains, and also avoids overloading the variable's meaning.

JIRA: SB-7881

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-09-30 09:07:41 -07:00
Christopher Larson
f23e3c8a4b tcmode: sort EXTERNAL_TARGET_SYSTEMS by priority
If multiple are available, the 'mentor' triplets are preferred, as that's the
non-lite toolchain. Sort them so those are first, as we stop at the first one
we find.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-09-30 09:07:41 -07:00
Christopher Larson
dc7560396c Merge remote-tracking branch 'origin/cedar' into cedar-merge
* origin/cedar:
  tcmode-external-sourcery: Add MGLS_LICENSE_FILE if not found in environment

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-03-25 20:08:44 -07:00
Christopher Larson
d075fdc52f tcmode: use -Wl,--as-needed
There's no reason not to make use of it, and it's used by default with the
internal toolchain, so this aligns us closer to that.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-03-18 17:06:05 -07:00
Christopher Larson
47779f4795 Merge pull request #125 from kergoth/improve-missing-binary-error 2016-03-15 08:43:05 -07:00
Sujith Haridasan
d2c9b9ca7c tcmode-external-sourcery: Add MGLS_LICENSE_FILE if not found in environment
Add MGLS_LICESNE_FILE and LM_LICENSE_FILE if not found in environment.

JIRA: SB-6778

Signed-off-by: Sujith Haridasan <Sujith_Haridasan@mentor.com>
2016-03-11 11:52:46 +05:30
Christopher Larson
d2b234e5d3 Pass *_LICENSE_FILE to gcc in msgxx-glibc test
This can fix a failure to pick up the needed argument for our flags.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-03-09 20:04:02 -07:00
Christopher Larson
96866fa35b Improve the error for missing gcc binary
Old messages:

    WARNING: EXTERNAL_TARGET_SYS == TARGET_SYS. This indicates that the prefixes specified by EXTERNAL_TARGET_SYSTEMS were not found.
    ERROR: EXTERNAL_TOOLCHAIN gcc path '<external-toolchain>/bin/arm-mel-linux-gnueabi-gcc' does not exist

New message:

    ERROR: Unable to locate prefixed gcc binary for arm-mel-linux-gnueabi in <external-toolchain>/bin

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-03-09 20:03:39 -07:00
Christopher Larson
8ce4d4c958 Set BASELIB rather than baselib
We get build failures otherwise.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-03-08 13:34:12 -07:00
Christopher Larson
26e7e8a719 Switch nativesdk-external-script to target
This alters the vars for the cross-compiler, not the build tools, so this is
most appropriate, and is one less thing to have in TOOLCHAIN_HOST_TASK.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-02-20 11:14:29 -07:00
Christopher Larson
bff6639c33 tcmode: define LDEMULATION_x86-64
Work around failure in 'perf' due to use of ld rather than gcc to link.

JIRA: SB-6527

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-02-01 16:41:12 -07:00
Christopher Larson
4e46bea8b9 tcmode: also override baselib for x86-64
The Sourcery x86-64 toolchain leaves 'lib' empty and uses 'lib64' for
everything, so force that in the tcmode the way we do for aarch64.

This also switches from hardcoding BASELIB to using the bits defined in the
tuning files, to reduce how much is being hardcoded.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2016-01-22 09:19:33 -07:00
Drew Moseley
5dd5e8f4f9 external-sourcery: Set PREFERRED_PROVIDER of gdbserver to gdb
This forces the default setup to require gdbserver from the gdb package
rather than pulling it from the external-sourcery packages.

This allows the inclusion of target-tools (and specifically gdb) in the
build image without resulting in multiple providers of gdbserver.

Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
2016-01-04 15:53:55 -07:00
Abdur Rehman
6dc3851551 sourcery-tuning: remove -mcpu flag for t4240rdb-64b
Remove -mcpu=e6500 flag from TUNE_CCARGS for t4240rdb-64b
to match the toolchain options, in ADE's environment script,
with the CS3 data used by the IDE(Sourcery CodeBench).

IDE reads in the individual ABI and other toolchain options
from ADE's environment-setup script and attempts to map each
value to its appropriate OptionValue in the target data
plugin.xml. Many of the the values in the plugin.xml
(particularly the ABI values) originate from the CS3
information.

When the IDE finds a value in environment-setup script which
cannot be mapped to a value in plugin.xml, e.g -mcpu=e6500 in
this case, it simply appends it to the misc option field and
this behavior is known to be imperfect.

JIRA: SB-6290

Signed-off-by: Abdur Rehman <abdur_rehman@mentor.com>
2015-12-08 20:11:29 +05:00
Abdur Rehman
9c6f30b657 sourcery-tuning: add tune args for e6500
Move bits for setting TUNE_CCARGS and TUNE_ASARGS for e6500
from tune-ppce6500.inc to sourcery-tuning.inc.

tune-ppce6500.inc has some additional bits compared to the
same file in poky. Only move those additional bits to
sourcery-tuning.

Remove tune-ppce6500.inc as it is no longer required.

JIRA: CB-5647

Signed-off-by: Abdur Rehman <abdur_rehman@mentor.com>
2015-11-13 20:50:49 +05:00
Christopher Larson
d2b3e641de tcmode: explicitly check for bindir's existence
JIRA: SB-6206

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2015-11-04 09:58:32 -07:00
Christopher Larson
c2a2eb36f0 tcmode: kill redundant Error: in sanity check errors
bb.fatal already prints ERROR:, so prefixing it with Error: is pointless and
redundant.

JIRA: SB-6206

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2015-11-04 09:58:26 -07:00
Abdur Rehman
3ac97834f1 tcmode: set localedir back to ${exec_prefix}/lib/locale
This reverts commit 4c72f28c6e
to align localedir with the external toolchain

Signed-off-by: Abdur Rehman <abdur_rehman@mentor.com>
2015-10-21 21:46:45 +05:00
Christopher Larson
89002198a4 tcmode: fix BASELIB for aarch64
The library path in the sourcery toolchain for aarch64 is lib64, not lib.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2015-10-14 21:13:22 -07:00
Christopher Larson
b90444dfbd tcmode: add aarch64 to EXTERNAL_TARGET_SYSTEMS
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2015-10-13 12:45:54 -07:00
Christopher Larson
5ce0b68788 Use --no-sysroot-suffix
With this, we can avoid the need to create a symlink for the multilib sysroot
suffix. This also adds a nativesdk package to the sdk to adjust the
environment setup there to use it as well.

JIRA: SB-6018

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2015-10-07 12:56:19 -07:00
Christopher Larson
4c72f28c6e tcmode: drop wrong localedir override
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2015-09-17 14:34:13 -07:00