| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Signed-off-by: Appana Durga Kedareswara rao <appana.durga.rao@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Add both recipes which use the cmake class for basic funcitonality.
Append the required arguments to generate the correct toolchain file
And use AUTOREV while in development for easier adoption.
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Appana Durga Kedareswara rao <appana.durga.rao@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both libgloss and newlib require the same arguents to be passed in. So
keep the two files in sync with each other.
--disable-newlib-supplied-syscalls
This configuration argument tells newlib to NOT provide builtin
syscalls, which allows the BSP library to provide them.
Note linking to a BSP library will require a custom GCC spec file when
linking.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable the following multilibs:
.
le
bs
p
m
fpd
m/fpd
p/m
p/fpd
p/m/fpd
bs/p
bs/m
bs/fpd
bs/m/fpd
bs/p/m
bs/p/fpd
bs/p/m/fpd
le/m64
le/bs
le/p
le/m
le/fpd
le/m/fpd
le/p/m
le/p/fpd
le/p/m/fpd
le/bs/p
le/bs/m
le/bs/fpd
le/bs/m/fpd
le/bs/p/m
le/bs/p/fpd
le/bs/p/m/fpd
le/m64/bs
le/m64/p
le/m64/m
le/m64/fpd
le/m64/m/fpd
le/m64/p/m
le/m64/p/fpd
le/m64/p/m/fpd
le/m64/bs/p
le/m64/bs/m
le/m64/bs/fpd
le/m64/bs/m/fpd
le/m64/bs/p/m
le/m64/bs/p/fpd
le/m64/bs/p/m/fpd
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When running gcc built for xilinx-standalone using mingw sdk machine, it
would throw an error saying the winpthread dll was missing. this is
because in tclibc-newlib, TOOLCHAIN_HOST_TASK was being overwritten and
omitting nativesdk-packagegroup-sdk-host which pulled in the appropriate
package nativesdk-mingw-w64-winpthreads. Manually adding the following
to TOOLCHAIN_HOST_TASK to bypass this issue:
nativesdk-qemu-xilinx
Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
Signed-off-by: Alejandro Enedino Hernandez Samaniegoi <alejandr@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
As part of the merge of the code bases, changes were introduced that
changed the way the cortexr5 was defined. To sync this between the
baremetal compilation and the baremetal toolchain compilation we
create a new armrm tune file, define a new tune feature of 'armrm',
define 'armrm' as a new machine override based on the feature 'armrm',
and move the cortexr5 tuning to a common file.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
|
|
|
|
| |
Multiple copies of the same binary toolchain will not help with anything,
so limit use to a single (primary) lib toolchain, and then new symlinks
to those toolchains to continue to enable the environment files.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
The C++ headers are slightly different for different multilibs. The Yocto
Project name (canonical arch) is different then the gcc multilib directory
name. Put in code that will syncronize these two items, allows C++ support
to function properly, avoiding conflicts in the process.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Distro Changes:
When building a multilib, we need to disable configsite cache. Otherwise
the system will fail to generate the SDK as there are no configsite entries
due to newlib based multilibs.
Recipe Changes:
gcc - globally disable multilib configuration
- Disable Linux specific configurations (EXTRACONFFUNCS)
gcc-cross-canadian - enable multilib on a recipe specific basis
libgcc - add a noop override to do_multilib_install to avoid Linux specific
multilib processing
newlib - arm/v6+m/nofp and arm/v8-m.base/nofp do not have newlib trap
implementations. libgloss contains these, workaround by
disabling builtin trap syscall handler.
- misc workarounds for multilib installs
libgloss - Allow MLPREFIX for newlib dependencies
meta-toolchain - adjust to install only the items we want/need
packagegroup-newlib-standalone-sdk-target - new pkggroup for the
custom baremetal SDK to select the right set of packages
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
|
|
|
|
| |
Unify the meta-xilinx-bsp and meta-xilinx-standalone layers
by moving the machine confs to the BSP layer and keeping the
standalone layer as a DISTRO layer
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
| |
to its name
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
| |
zynqmp and versal variants
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
| |
zynqmp-pmu to microblaze-pmu
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
| |
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
|
|
| |
Due to the large amount of recipes required from the ESW repo,
include a pattern to parse recipes without requiring a directory
per recipe
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
| |
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
| |
recipes-bsp
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
|
|
| |
Keep the version numbers in case the version changes, so
do_patch fails and forces us to revise the patches and make
sure they are still required
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
| |
on recipes-devtools
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
An error in commit: 7e99d6d01b7b685048b35ac77ea6938ab2708097 resulted in
dropping the section that restored the --with-sysroot workaround. This
is required for the standard lib and include patches to be defined by the
toolchain.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
|
|
|
| |
The Xilinx errata documents does not list the parts as affected by these
errata, so remove them in order to generate better code.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The result of the refactoring is equivalent to before the changes, with the
following changes:
- cortexa72 has been removed
- cortexa53 has been replaced with aarch64
- zc702-zynq7 has been replaced with arm
- zynqmp-pmu has been replaced with microblaze
In order to avoid a multilib cflag collision on arm, clear the TUNE_CCARGS on
arm (and cortexr5).
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
| |
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
| |
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
| |
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
| |
This reverts commit a45b1acf46f01cc5eb3ae130ab61766ed635340e.
|
|
|
|
|
|
|
|
|
| |
The special arguments do not appear to be needed, and using the standard
configuration arguments will more easily enable other components as well.
Note, additional refactoring will be needed, only aarch64 has been verified.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
|
|
|
|
| |
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
| |
Changing arch-armv8.inc to arch-armv8a.inc to match upstream name change
Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
|
|
|
|
|
|
|
| |
Adding necessary patches on top of upstream newlib and libgloss 3.1.0
Signed-off-by: Nagaraju Mekala <nmekala@xilix.com>
Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
|
|
|
|
|
|
|
| |
Update XILINX_RELEASE_VERSION to v2020.1
Signed-off-by: Varalaxmi Bingi <varalaxmi.bingi@xilinx.com>
Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a TEMPORARY HACK to build gcc-cross-canadian toolchain for the
xilinx-standalone distro.
xilinx-standalone.conf will set TCLIB as newlib which will pull in
tclibc-newlib.inc which sets TARGET_OS to eabi for arm and elf for
everything else. In gcc-cross-canadian.inc (upstream) there is
a _remove('--with-sysroot=/not/exist') for TARGET_OS overrides(elf and
eabi) which fixes baremetal toolchain builds by preventing the compiler
from looking in nonexistent sysroot directories
e.g. https://github.com/riscv/meta-riscv/issues/117
But that flag is needed when building for newlib as that is what will
specify the path in the arch specific sysroots to look for the header
files that were generated.
Without setting --with-sysroot the following error would
occur:
fatal error: stdio.h: No such file or directory
1 | #include <stdio.h>
Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
| |
Upgrade u-boot, qemu, linux, atf to 2020.1
Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
|
|
|
|
|
|
| |
Update configure options to be in sync with the SDK
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
| |
binutils options should not be tied to the gcc bbappends
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
| |
multilib builds are broken on microblaze, disable them
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
| |
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the GCC configure options per MACHINE were inside the
MACHINE.confs, this was wrong since the BSPs are contaminated
by the DISTRO options and it should be the other way around.
Avoid this contamination by using MACHINE OVERRIDES along with
DISTRO OVERRIDES to get the required gcc and binutils configure
options by the Xilinx SDK
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
dependencies
For the cross canadian toolchain we need to have both the libc.a and libgloss.a.
We add them to the LIBC_DEPENDENCIES which are wired in core to be added
to the sdk via the TOOLCHAIN_TARGET_TASK variable
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
| |
Instead of overriding the append, we need to append the override.
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
| |
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we need specific configuration for the SDK toolchain, we need
to override the configuration coming from oe-core, this configuration
needs to be per MACHINE.
Use GCC_CONFIGURE_COMMON_XILINX_STANDALONE to define the default config
shared amongst MACHINES, and use a GCC_CONFIGURE_<MACHINE> variable to
append to this common configuration options on each MACHINE that we
want.
Use the same procedure for binutils
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
| |
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
| |
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
For the xilinx-standalone DISTRO, we need to keep some of the configure
options that we lose when setting TCLIBC=newlib, although this should only
happen when we are selecting xilnx-standalone as the DISTRO, otherwise, we
would be overriding the configure options for GCC when this bbappend is parsed
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|
|
|
|
|
|
|
| |
The changes in these recipes are version independent. Hence move them to
_%.bb
Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
|
|
|
|
|
|
|
|
| |
for versal components like plm, psm-firmware
versal-mb.conf supports versal SOC standalone component builds such as
plm, psm-firmware. It provides required configuration to use microblaze
toolchain needed for the builds.
|
|
|
|
|
|
|
|
| |
Create psm-firmware recipe for standalone build.
PSM is a PS Management unit responsible for controlling the power
islands, error processing and other control functions within the PS.
Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
|
|
|
|
|
|
|
|
| |
Add recipe to build plm as standalone component.
plm is platform loader and manager for versal devices.It performs boot
and configuration of the Versal ACAP device.
Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Newlibs Makefiles use a variable CC_FOR_TARGET to build
libraries for the TARGET machine (as opposed to
CC_FOR_BUILD).
We pass CC on our compile function, which is normally
use to build, although in this case, the configure
script is trimming CC and using simply gcc for the target
machine, basically taking out the TUNE variables we pass
in CC as well, such as march, mfloat-abi and such.
This causes errors when building applications since
CC will try to use hard floating point for example
whereas the libc.a from newlib will contain libraries
built with the defaults which could be soft floating
point for example.
e.g.:
$ ${CC} a.c
real-ld: error: a.out uses VFP register arguments,
/usr/lib/libg.a(lib_a-stdio.o) does not.
Analizing the object files we can see that one of them
uses soft (library) and the other one uses hard
floating point (program):
$ readelf -A a.out | grep VFP
Tag_ABI_VFP_args: VFP registers
$ readelf -A usr/lib/libc.a | grep VFP
Hence why the linker complains.
Pass CC_FOR_TARGET with the contents of CC to override
the trimming from the configure script and build newlib
with the correct tune.
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
|