summaryrefslogtreecommitdiff
path: root/Rules.mak
AgeCommit message (Collapse)Author
2023-12-18bump version for 1.0.45 releasev1.0.45Waldemar Brodkorb
2023-12-12elf: support ELF binaries in noMMUGreg Ungerer
The Linux kernels ELF-FDPIC binfmt program loader can support loading and running conventional ELF format binaries on noMMU kernels when compiled appropriately. That is when they are constant displacement binaries such as generated using the -pie compile option. Add a configure option to allow selecting ELF binary support in noMMU mode configurations on architectures that support this. The main requirement is to generate the ldso run-time loader to perform relocation at load time. These configurations do not support shared libraries, so there is no need to generate a full shared library, only the static version is required. The use of ELF format binaries does mean a slightly simpler toolchain generation (does not require a -uclinux- for some architectures) and does not require an extra tool like elf2flt. This initial support targets M68K, ARM and RISC-V architectures. No kernel changes are required, the required support for this is already in mainline kernels (certainly as of linux-6.6). Note that for the M68K and ARM architectures that the initialized registers and stack layout at process startup is slightly different for the flat format loader and the ELF/ELF-FDPIC loaders. So we need some changes to the startup code (crt1.S) for them. I have not done extensive testing outside of M68K, ARM and RISC-V. I had to make changes to a couple of the dl-startup.h architecture files to get them to build for this noMMU case. I did not dig down too deep on the reasons, but they still seem ok for the MMU case as well. Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
2023-09-14kvx: add support for kv3-2 (Coolidge v2 SoC)Yann Sionneau
The only difference, with regard to libc, is the compile flag: -march= Signed-off-by: Yann Sionneau <ysionneau@kalray.eu>
2023-08-06bump version for 1.0.44 releasev1.0.44Waldemar Brodkorb
2023-04-05bump version for 1.0.43 releasev1.0.43Waldemar Brodkorb
2022-11-20RISC-V 32-bit supportustcymgu@gmail.com
Added 32-bit RISC-V support. I have managed to get 32-bit RISC-V No-MMU Linux running based on mainstream buildroot. It's nice to have uclibc support this 32-bit No-MMU target. There's no substantial code change except definations and config options. Signed-off-by: Yimin Gu <ustcymgu@gmail.com>
2022-08-11bump version for 1.0.42 releasev1.0.42Waldemar Brodkorb
2022-08-11fix ARCH_NATIVE_BIT for aarch64Waldemar Brodkorb
Patch suggested by Thomas Petazzoni and tested by me. Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-05-20bump version for 1.0.41 releasev1.0.41Waldemar Brodkorb
2022-01-24bump version for 1.0.40 releasev1.0.40Waldemar Brodkorb
2021-10-06bump version for 1.0.39 releasev1.0.39Waldemar Brodkorb
2021-06-04powerpc: fix PIE/PIC builds with newer gcc/binutils which use secureplt by ↵Yann Sionneau
default This patch fixes segfault of all user space processes (including init, which caused a panic) on recent buildroot powerpc32 builds. The issue has been reported by Romain Naour in this thread: https://mailman.uclibc-ng.org/pipermail/devel/2021-May/002068.html Recent buildroot toolchain enables secure PLT in powerpc gcc. The latter will then supply -msecure-plt to gas invocations by default. Recent buildroot also enables PIE by defaults. For the secure PLT to work in PIC, the r30 register needs to point to the GOT. Old "bss plt" was just a one-instruction-wide PLT slot, pointed-to by a R_PPC_JMP_SLOT relocation, which was written on-the-fly to contain a branch instruction to the correct address. It therefore had to stay writable. New secure PLT only contains read-only code which loads the branch address from the writable GOT. Note: secure PLT without PIC does not need r30 to be set. Because offset between plt stub code and got is known at link-time. In this case the PLT entry looks like: 1009b3e0 <__uClibc_main@plt>: 1009b3e0: 3d 60 10 0e lis r11,4110 1009b3e4: 81 6b 03 74 lwz r11,884(r11) 1009b3e8: 7d 69 03 a6 mtctr r11 1009b3ec: 4e 80 04 20 bctr Whereas secure PLT with PIC - offset between plt and got is unknown at link-time - looks like this: 000af800 <00000000.plt_pic32.__uClibc_main>: af800: 81 7e 03 80 lwz r11,896(r30) af804: 7d 69 03 a6 mtctr r11 af808: 4e 80 04 20 bctr af80c: 60 00 00 00 nop Signed-off-by: Yann Sionneau <yann@sionneau.net>
2021-03-27bump version for 1.0.38 releasev1.0.38Waldemar Brodkorb
2020-12-24bump to 1.0.37v1.0.37Waldemar Brodkorb
2020-10-02bump version to 1.0.36v1.0.36Waldemar Brodkorb
2020-10-02kvx: add support for kvx arch to uClibc-ngYann Sionneau
This commit adds support for Kalray VLIW family (kvx) Kalray kv3 core is embedded in Kalray Coolidge SoC. This core which is the third of the KV family has the following features: 32/64 bits execution mode 6-issue VLIW architecture 64 x 64bits general purpose registers SIMD instructions little-endian In order to build a usable toolchain, build scripts are provided at the following address: https://github.com/kalray/build-scripts. Kalray uses FOSS which is available at https://github.com/kalray This includes Linux kernel, uClibc-ng, gcc, binutils, etc. Signed-off-by: Clément Léger <cleger@kalray.eu> Signed-off-by: Guillaume Thouvenin <gthouvenin@kalray.eu> Signed-off-by: Laurent Thevenoux <lthevenoux@kalray.eu> Signed-off-by: Marc Poulhies <mpoulhies@kalray.eu> Signed-off-by: Marius Gligor <mgligor@kalray.eu> Signed-off-by: Yann Sionneau <ysionneau@kalray.eu>
2020-09-03fix static builds with gcc 10.xWaldemar Brodkorb
2020-08-28bump for release 1.0.35v1.0.35Waldemar Brodkorb
2020-05-06prepare for release 1.0.34v1.0.34Waldemar Brodkorb
2020-04-27Rules.mak: Fix check_as for recent binutils versionsMarcel Patzlaff
As described in https://bugs.busybox.net/show_bug.cgi?id=12801 the check for '-Wa,--noexecstack' is not working since binutils 2.31.x. This fix adapts the approach already taken with check_ld and uses a temporary file. Further, check_gcc is also adapted to avoid future problems. Signed-off-by: Marcel Patzlaff <m.patzlaff@pilz.de>
2020-02-16bump to 1.0.33 for releasev1.0.33Waldemar Brodkorb
2019-10-15bump to 1.0.32 for releasev1.0.32Waldemar Brodkorb
2018-11-14bump for release 1.0.31v1.0.31Waldemar Brodkorb
2018-04-28bump for release 1.0.30v1.0.30Waldemar Brodkorb
2018-03-03bump for release 1.0.29v1.0.29Waldemar Brodkorb
2018-03-01quieten some warnings when EXTRA_WARNINGS not setWaldemar Brodkorb
2018-03-01fix issue with LDSO_GNU_HASH_SUPPORTWaldemar Brodkorb
Under Fedora 27 there is a problem with the existing ld check. Binutils ld segfaults. Add a glibc compat macro to complete the build on Fedora. Signed-off-by: Sven Anders <anders@anduras.de>
2018-01-21bump version to 1.0.28v1.0.28Waldemar Brodkorb
2018-01-21supress some gcc warningsWaldemar Brodkorb
2017-12-26csky: remove -mcpu and -mhard-float from configGuo Ren
Pass the -mcpu and -mhard-float from UCLIBC_EXTRA_CFLAGS instead. Signed-off-by: Guo Ren <ren_guo@c-sky.com>
2017-11-27bump for releasev1.0.27Waldemar Brodkorb
2017-11-19csky: port to uclibc-ngGuo Ren
Follow the steps to build c-sky uclibc linux system: 1. git clone https://github.com/c-sky/buildroot.git 2. cd buildroot 3. make qemu_csky_ck810_uclibc_defconfig 4. make Follow the buildroot/board/qemu/csky/readme.txt to run. This buildroot toolchain is pre-build, But you can rebuild the c-sky uclibc-ng alone and install it to the buildroot sysroot manually. We'll try our best to improve the uclibc-ng continuously. Signed-off-by: Guo Ren <ren_guo@c-sky.com>
2017-07-28bump for releasev1.0.26Waldemar Brodkorb
2017-06-11bump for releasev1.0.25Waldemar Brodkorb
2017-04-22bump for releasev1.0.24Waldemar Brodkorb
2017-04-02bump for next release, uClibc -> uClibc-ngv1.0.23Waldemar Brodkorb
2017-03-21ARC: remove special CFLAGS/LDFLAGS handlingWaldemar Brodkorb
Either toolchain defaults or buildsystems should provide the architecture specific CFLAGS and LDFLAGS.
2017-02-01bump for releasev1.0.22Waldemar Brodkorb
2017-02-01add experimental aarch64 supportWaldemar Brodkorb
Ported over from GNU C Library and runtime tested in Qemu.
2016-12-26bump for releasev1.0.21Waldemar Brodkorb
2016-12-04bump for releasev1.0.20Waldemar Brodkorb
2016-10-23bump for releasev1.0.19Waldemar Brodkorb
2016-10-22ARC: build: don't force usage of llock and swape instructionsVineet Gupta
This is because some old ARC750 cores lack these instructions. We now rely on the default for the toolchain driver: -mcpu=A7 won't enable those, while -mcpu=archs will as these instructions are baseline (and thus is not impacted with this change). If some arc700 based cpu does have them, it can override the driver defaults in it's one level up build system. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2016-10-09fix mips/mips64 build for old compilersWaldemar Brodkorb
gcc 4.8 does not support nan flag. Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-30ubacktrace/uargp: remove unneeded and false linker scriptsWaldemar Brodkorb
2016-09-27bump for releasev1.0.18Waldemar Brodkorb
2016-09-26use a single libc and deduplicate threading codeWaldemar Brodkorb
Similar to musl libc a single libc has many benefits and solves some open issues with uClibc-ng. - no pthread_mutex_* weak symbols exported anymore - applications no longer failing to link when either -lrt or -lpthread are missing for dynamic and static linking mode - smaller C library - slightly better runtime performance
2016-08-27remove DOMULTI supportWaldemar Brodkorb
A single test with targeting ARM showed that this feature seems bit rotted. Remove DOMULTI and simplify Makefiles.
2016-08-25mips: add NaN supportWaldemar Brodkorb
2016-08-23delete dead code, use -Wdeclaration-after-statement by defaultWaldemar Brodkorb
Add -Wdeclaration-after-statement when EXTRA_WARNINGS is enabled.