summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/newlib
Commit message (Collapse)AuthorAgeFilesLines
* meta: remove consecutive blank linesAlexander Kanavin2025-06-201-1/+0
| | | | | | | | | | | | | | | | | Some of them were introduced by mass-removal of S = WORKDIR/git assignments; rather than try to fix up (or redo) just these, I've run this sed command over the whole tree: sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc` The rationale is that more than one empty line is wasting vertical screen space, and does nothing for readability. (From OE-Core rev: cedc4ff7c9bcfb22a20e43e47f9759f4007a4f1a) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove S in recipes that fetch from git via setting ↵Alexander Kanavin2025-06-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BB_GIT_DEFAULT_DESTSUFFIX Removing all the S = ${WORKDIR}/git assignments works because BB_GIT_DEFAULT_DESTSUFFIX is set to match S from bitbake.conf (which itself is set to match typical tarball releases). A few recipes are setting S to a sub-directory of the git tree and need to be adjusted accordingly. bzip2 recipe is fetching a tarball and separately cloning tests; adjust the recipe to put the latter into 'bzip2-tests', instead of 'git'. devupstream.bbclass no longer needs to rewrite S, and is adjusted accordingly. Adjust scripts/lib/recipetool/append.py to not hardcode 'git' as unpack destination. Adjust kernel-yocto.bbclass to use the git unpack variable instead of hardcoding 'git' (there's also removal of repetition of string constants and a correction of workdir/unpackdir mismatch in one of the if-else branches). Ensure build-appliance-image recipe does not use 'git' as checkout directory for poky repo, but rather explicitly name it 'poky'. Ensure reproducible.py code that looks for git repositories does not hardcode 'git' but uses the destination set by BB_GIT_DEFAULT_DESTSUFFIX. Ensure recipetool does not write out unneeded S settings into newly created recipes that fetch from git. Adjust selftest to not hardcode 'git' as unpack directory. (From OE-Core rev: f80c07019ddadaf9c5fb890faabfda7920ecd15e) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: Upgrade 4.4.0 -> 4.5.0Alejandro Hernandez Samaniego2025-05-222-6/+10
| | | | | | | | | | | | Licence changes: - Adds BSD-2 for libm ld128 functions on 5c5ae2c08 - Adds Synopsys arc-*-* targets on 820dd50 (From OE-Core rev: 0ab6ac79b9f9519d9ee2b2c8d5b217a7e665e6f3) Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/meta-selftest: Fix variable assignment whitespaceRichard Purdie2025-02-011-1/+1
| | | | | | | | | | Recipes are much more readable with whitespace around the assignment operators. Fix various assignments in OE-Core to show this is definitely the preferred formatting. (From OE-Core rev: 30ea609d3357fb3de911f2f6a5e6856c151b976a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and c++/binutils)Richard Purdie2025-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea of the base class dependency is to say "yes, I need a C cross compiler" and this was never meant to be gcc specific. Looking at the codebase, whilst we code triplets into this, it does overcomplicate things as there are only ever limited, "target", "sdk" and the class extended versions like mutlilib. After much thought, we can simplify this to virtual/cross-cc and virtual/nativesdk-cross-cc. This lets us remove the "gcc" specific element as well as removing the over complicated triplet usage. At the same time, change the much less widely used "g++" variant to "c++" for similar reasons and remove the triplet from virtual/XXX-binutils too. Backwards compatibility mappings could be left but are just going to confuse things in future so we'll just require users to update. This simplification, whilst disruptive for any toolchain focused layers, will make improved toolchain selection in the future much easier. Since we no longer have overlapping variables, some code for that can just be removed. The class extension code does need to start remapping some variables but not the crosssdk target recipe names. This patch is in two pieces, this one handles the renaming with the functional changes separate in a second for easier review even if this breaks bisection. (From OE-Core rev: 4ccc3bc8266c327bcc18c9a3faf7536210dfb9f0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libgloss: Do not apply non-existent patchRobert Joslyn2024-05-301-1/+0
| | | | | | | | | | | | | | When newlib and libgloss were updated to 4.3.0, SRC_URI was updated to append a fix-rs6000-cflags.patch file when building on PowerPC, but this file was not added to the repo. Remove appending the missing patch. (From OE-Core rev: 64561d8b81233a19df5f51d26dfbcd15835bec1f) Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: Use mcmodel=medany for RISCV64Alejandro Hernandez Samaniego2024-05-281-0/+8
| | | | | | | | | | | | | | | | | | It was previously discovered that mcmodel=medany should be used for RISCV64, however this was only being set for the applications themselves, but not for newlib, this meant that we ended up with C library that used a code model and an application that used another one which is not something we want. Pass mcmodel=medany when building newlib for RISCV64 as well. Also, s/CFLAGS/TARGET_CFLAGS to standarize across recipes, the variable expansion provides no functional difference at this point. (From OE-Core rev: 3ed0a2fab5dbc37dd352ead8846da6aae5de5c20) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: Upgrade 4.3.0 -> 4.4.0Alejandro Hernandez Samaniego2024-01-212-4/+4
| | | | | | | | | | | | | | - COPYING.LICENSE: Added Apache-2.0-with-LLVM-exception from newlibs commit 96ec8f868e1a0f5a75badfe4627a41f12cce742d applicable to newlib/libc/machine/aarch64. - Also switch libgloss to use PV from newlib.inc instead to align with the newlib recipe behavior. (From OE-Core rev: 92add12d667cb08c9222b4b342b3bf6342010ac6) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes/classes/scripts: Drop SRCPV usage in OE-CoreRichard Purdie2023-08-241-1/+1
| | | | | | | | Now that SRCPV isn't needed we can simplify things in a few places... (From OE-Core rev: 843f82a246a535c353e08072f252d1dc78217872) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libgloss: remove unused patch fileMartin Jansa2023-05-251-30/+0
| | | | | | | | | | * it was removed from SRC_URI in: https://git.openembedded.org/openembedded-core/commit/?id=1c9cbb27dfe37ca4574c4285fb03ce394dee5ed1 (From OE-Core rev: c78439a8048c30ef96e11ae698c32f4e088787d3) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: Upgrade 4.2.0 -> 4.3.0Alejandro Hernandez Samaniego2023-01-295-21/+61
| | | | | | | | | | | | | | | | | | | | | - Rebased fix-rs6000-crt0.patch - Patch fix_makefile_include_arm_h.patch is no longer required, the newlib header dependency has been fixed upstream at 26f9cfd7 - LICENSE checksum change due to: - Adding SPDX identifier - Deleted Phoenix Systems from License and updated each licenses numbers accordingly. - Add a dummy limits.h header, to make the improved preprocessor checks happy during configure. - Add a patch for libgloss to maintain current behavior of TCLIBC=newlib by making libgloss DEPEND on newlib and use its installed headers. - Switch to git fetcher to simplify fetching the sources and avoid future issues due to the way newlib release snapshots were being published. (From OE-Core rev: 1c9cbb27dfe37ca4574c4285fb03ce394dee5ed1) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf/recipes: Introduce add DEV_PKG_DEPENDENCY to change ↵Richard Purdie2022-06-281-1/+1
| | | | | | | | | | | | RDEPENDS:${PN}-dev There is a pattern that several recipes need to break the dependency of ${PN}-dev on ${PN}, most often as ${PN} may be be empty. Add a new variable to parameterise this and allow it to be changed more easily. (From OE-Core rev: a5b381c0f45c590a762647a9956a8f41e2e2315e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/meta-selftest/meta-skeleton: Update LICENSE variable to use SPDX ↵Richard Purdie2022-02-201-1/+1
| | | | | | | | | | | | | license identifiers An automated conversion using scripts/contrib/convert-spdx-licenses.py to convert to use the standard SPDX license identifiers. Two recipes in meta-selftest were not converted as they're that way specifically for testing. A change in linux-firmware was also skipped and may need a more manual tweak. (From OE-Core rev: ceda3238cdbf1beb216ae9ddb242470d5dfc25e0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: fix license checksumsRoss Burton2022-02-091-3/+3
| | | | | | | | | | | COPYING.LIBGLOSS simply had the FSF street address change. COPYING.NEWLIB now includes BSD-3-Clause. (From OE-Core rev: 78080015b7d83f46770be718a22ffcfedd15daf2) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: Upgrade 4.1.0 -> 4.2.0Alejandro Hernandez Samaniego2022-02-073-3/+9
| | | | | | | (From OE-Core rev: 668445252fa96bd00ecdef1f610707a132eb35fc) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert to new override syntaxRichard Purdie2021-08-023-12/+12
| | | | | | | | | | | | This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". (From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: Update licenceAlejandro Hernandez Samaniego2021-01-231-2/+2
| | | | | | | | | | | | | | | | | | | - libgloss: - (22) New tcl license for csky-* targets - (23) New license for csky-* targets, states itself as FreeBSD license but text matches GPL (648365e0) - (24) New BSD-2 license for risc-v targets newlib: - New license for csky-* targets, states itself as FreeBSD license but text matches GPL (648365e0) - (53) arm targets FreeBSD - (54) arm targets BSD-2-Clause-FreeBSD (From OE-Core rev: 97388b7da445c42ca9d425d37d2f369fc673b973) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: Upgrade 3.3.0 -> 4.1.0Alejandro Hernandez Samaniego2021-01-203-1/+1
| | | | | | | (From OE-Core rev: 48c7474a50181f8983c180693363b40833c3fe01) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: Upgrade to latest yearly release 3.3.0Alejandro Hernandez2020-04-293-2/+1
| | | | | | | | | | Upgrade to the latest snapshot, also drop md5sum while were at it. (From OE-Core rev: d73aa359e42e707dbc7cfa29c55a2fc8e6bb938a) Signed-off-by: Alejandro Hernandez Samaniego <alhe@linux.microsoft.com> Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: Move syscalls from newlib to libglossMark Hatle2020-02-191-0/+1
| | | | | | | | | | | | | | | | By passing --disabled-newlib-supplied-syscalls, newlib will disable the generation of builtin syscalls and move this to libgloss. (This also affects the generation of crt0.o.) libgloss SHOULD then provide the syscalls, crt0.o and other functions that are no longer part of newlib itself. This now means that you must link with both newlib and libgloss, whereas before newlib would run in many configurations by itself. (From OE-Core rev: f495e1f771b60d2db11ffa351adf56ba664fe7e1) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* newlib: Upgrade newlib and libgloss to the yearly release 3.2.0Alejandro Enedino Hernandez Samaniego2020-01-193-5/+5
| | | | | | | | | | | | | A new yearly snapshot was taken on January 2nd of 2020, this bumps newlib to 3.2.0. - Mentor Graphics added tcl license (amdgcn-* targets) - BSD-Clause-2 was added as well by Dinux (pru-* targets) (From OE-Core rev: e2d0e36234ba928d0cbcc98d8358b94d8d44412e) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Change ftp:// URIs to http(s)://Adrian Bunk2019-08-031-1/+1
| | | | | | | (From OE-Core rev: a11edd68b256fffb088cde5b7298a5749161f600) Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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>