summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/newlib
Commit message (Collapse)AuthorAgeFilesLines
* newlib: export CC_FOR_TARGET as CCAlejandro Hernandez Samaniego2019-06-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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} test.c real-ld: error: test.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 test.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. (From OE-Core rev: d00b32f4f961ceeb75e7a014209666c10cf3eb93) Signed-off-by: Alejandro Enedino Hernandez Samaniego <aehs29@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: Upgrade to 3.1.0Alejandro Hernandez Samaniego2019-06-063-4/+4
| | | | | | | | | | | | | Upgrade both newlib and libgloss to the yearly release 3.1.0. BSD-2 license was added on: 6864c08b94752d34cca (From OE-Core rev: ef90ed7e4be3f1ed63faba73bd4bbd593ae7bdf2) Signed-off-by: Alejandro Enedino Hernandez Samaniego <aehs29@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* musl,glibc,newlib: Drop redundant STAGINGCCKhem Raj2019-01-211-4/+0
| | | | | | | | | We do not have initial phase of bootstrapping toolchains anymore (From OE-Core rev: 75a2c15bbabf4df14631c822b20ce6d31098a5c8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: Move away from gcc-initial dependencyKhem Raj2018-12-261-1/+1
| | | | | | | | | gcc-initial step is no more needed (From OE-Core rev: 44539118ce29ba4fa916ab28ebf66e6fd5819738) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes: Drop virtual/libc-for-gccRichard Purdie2018-12-261-1/+1
| | | | | | | | | We no longer have special "libc" for gcc so we can rely on plain virtual/libc and reduce the complexity in the dependencies. (From OE-Core rev: 122217b421f749b5fef52bea44ad6e04bc8f8d3a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libgloss_3.0.0.bb: Ensure ${D}${libdir} exists installing contentNathan Rossi2018-09-211-0/+1
| | | | | | | | | | | Some targets do not populate any content into libdir, so make sure it is created before attempting to move files/directories into it. (From OE-Core rev: f8d7394f314041de7bcbf06ccb6405f64c68fad0) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libgloss_3.0.0.bb: Consolidate rmdir with -pNathan Rossi2018-09-211-2/+1
| | | | | | | | | | | Consolidate the rmdir of multiple directories with the use of -p to delete the leaf empty directory and any empty ancestor directories. (From OE-Core rev: ba2f5ad890ecf94f541d84cc04669a6b02990d39) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libgloss_3.0.0.bb: Fix up mv pattern to include libnosysNathan Rossi2018-09-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | When installing libgloss libraries handle the ${TARGET_SYS}/lib contents so that it is placed in ${libdir} instead of ${libdir}/lib. This resolves a packaging QA issue. ERROR: libgloss-3.0.0-r0 do_package: QA Issue: libgloss: Files/directories were installed but not shipped in any package: /usr/lib/lib /usr/lib/lib/libnosys.a /usr/lib/lib/nosys.specs Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. libgloss: 3 installed and not shipped files. [installed-vs-shipped] (From OE-Core rev: 69ce8ba6cc610f310ae28d988d487918906e6ef9) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* tclibc-newlib: Adds a new TCLIBC variant to build with newlib as C libraryAlejandro Enedino Hernandez Samaniego2018-06-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | This patch adds the posibility to build using TCLIBC=newlib. It allows users to build baremetal applications with the use of a C library. Newlib is a lightweight C library meant to be used on embedded systems, it is meant to be easily portable for new platforms and to provide basic functionality on them, by design, it provides stubs for some of these core functions declared as weak, so they can be built correctly and then linked against some other library which provides specifics about the platform being used if need be, libgloss takes care of these in some cases, but it can also be extended, this patch also allows the user to easily add other libraries to it by adding them to NEWLIB_EXTENDED for this specific reason. (From OE-Core rev: 9f0570351a7b0877aa50efff5fe9a9ef368cb38f) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: Adds newlib and libgloss recipesAlejandro Enedino Hernandez Samaniego2018-06-155-0/+177
Newlib is a C library that is intended to be used on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. Newlib provides a C library alternative that can run on baremetal, mainly for resource constrained devices. Libgloss is the BSP part of the C library, which can be easily modified to port for new hardware platforms. (From OE-Core rev: fe490ff829440b94124317759d856e2e2daf5047) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>