Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-19Bring back libsim.a for riscvAlexey Lapshin
2023-08-24libgloss: add Xtensa portAlexey Lapshin
Supported esp32 and esp32s2 boards: https://github.com/espressif/esp-toolchain-docs/blob/main/gcc/build-and-run-native-app.md
2023-08-09Add stub for getentropyTorbjörn SVENSSON
Example test case that fails with undefined reference to getentropy: Testing g++.robertl/eb77.C, -std=c++20 doing compile Executing on host: /build/gcc-13-2709-g9ac9fde961f/bin/arm-none-eabi-g++ /build/src/gcc/gcc/testsuite/g++.old-deja/g++.robertl/eb77.C -mthumb -march=armv6s-m -mcpu=cortex-m0 -mfloat-abi=soft -fdiagnostics-plain-output -fmessage-length=0 -std=c++20 -pedantic-errors -Wno-long-long -Wl,--start-group -lc -lm -Wl,--end-group --specs=nosys.specs -Wl,--allow-multiple-definition -Wl,-u,_isatty,-u,_fstat -Wl,-wrap,exit -Wl,-wrap,_exit -Wl,-wrap,main -Wl,-wrap,abort -Wl,g++_tg.o -lm -o ./eb77.exe (timeout = 800) spawn -ignore SIGHUP /build/gcc-13-2709-g9ac9fde961f/bin/arm-none-eabi-g++ /build/src/gcc/gcc/testsuite/g++.old-deja/g++.robertl/eb77.C -mthumb -march=armv6s-m -mcpu=cortex-m0 -mfloat-abi=soft -fdiagnostics-plain-output -fmessage-length=0 -std=c++20 -pedantic-errors -Wno-long-long -Wl,--start-group -lc -lm -Wl,--end-group --specs=nosys.specs -Wl,--allow-multiple-definition -Wl,-u,_isatty,-u,_fstat -Wl,-wrap,exit -Wl,-wrap,_exit -Wl,-wrap,main -Wl,-wrap,abort -Wl,g++_tg.o -lm -o ./eb77.exe pid is 28414 -28414 /build/gcc-13-2709-g9ac9fde961f/bin/../lib/gcc/arm-none-eabi/13.0.0/../../../../arm-none-eabi/bin/ld: /build/gcc-13-2709-g9ac9fde961f/bin/../lib/gcc/arm-none-eabi/13.0.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libstdc++.a(random.o): in function `std::(anonymous namespace)::__libc_getentropy(void*)': (.text._ZNSt12_GLOBAL__N_117__libc_getentropyEPv+0x8): undefined reference to `getentropy' /build/gcc-13-2709-g9ac9fde961f/bin/../lib/gcc/arm-none-eabi/13.0.0/../../../../arm-none-eabi/bin/ld: /build/gcc-13-2709-g9ac9fde961f/bin/../lib/gcc/arm-none-eabi/13.0.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libstdc++.a(random.o): in function `std::random_device::_M_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': (.text._ZNSt13random_device7_M_initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x58): undefined reference to `getentropy' /build/gcc-13-2709-g9ac9fde961f/bin/../lib/gcc/arm-none-eabi/13.0.0/../../../../arm-none-eabi/bin/ld: /build/gcc-13-2709-g9ac9fde961f/bin/../lib/gcc/arm-none-eabi/13.0.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc.a(libc_a-arc4random.o): in function `_rs_stir': (.text._rs_stir+0x8): undefined reference to `getentropy' collect2: error: ld returned 1 exit status pid is -1 close result is 28414 exp6 0 1 output is /build/gcc-13-2709-g9ac9fde961f/bin/../lib/gcc/arm-none-eabi/13.0.0/../../../../arm-none-eabi/bin/ld: /build/gcc-13-2709-g9ac9fde961f/bin/../lib/gcc/arm-none-eabi/13.0.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libstdc++.a(random.o): in function `std::(anonymous namespace)::__libc_getentropy(void*)': (.text._ZNSt12_GLOBAL__N_117__libc_getentropyEPv+0x8): undefined reference to `getentropy' /build/gcc-13-2709-g9ac9fde961f/bin/../lib/gcc/arm-none-eabi/13.0.0/../../../../arm-none-eabi/bin/ld: /build/gcc-13-2709-g9ac9fde961f/bin/../lib/gcc/arm-none-eabi/13.0.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libstdc++.a(random.o): in function `std::random_device::_M_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': (.text._ZNSt13random_device7_M_initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x58): undefined reference to `getentropy' /build/gcc-13-2709-g9ac9fde961f/bin/../lib/gcc/arm-none-eabi/13.0.0/../../../../arm-none-eabi/bin/ld: /build/gcc-13-2709-g9ac9fde961f/bin/../lib/gcc/arm-none-eabi/13.0.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc.a(libc_a-arc4random.o): in function `_rs_stir': (.text._rs_stir+0x8): undefined reference to `getentropy' collect2: error: ld returned 1 exit status status 1 compiler exited with status 1 FAIL: g++.old-deja/g++.robertl/eb77.C -std=c++20 (test for excess errors) Excess errors: (.text._ZNSt12_GLOBAL__N_117__libc_getentropyEPv+0x8): undefined reference to `getentropy' (.text._ZNSt13random_device7_M_initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x58): undefined reference to `getentropy' (.text._rs_stir+0x8): undefined reference to `getentropy' UNRESOLVED: g++.old-deja/g++.robertl/eb77.C -std=c++20 compilation failed to produce executable Contributed by STMicroelectronics Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
2023-03-08libgloss/epiphany: Fix move instruction in crt0.SSebastian Huber
This patch relates to bug report: https://sourceware.org/bugzilla/show_bug.cgi?id=30212
2023-03-03arm: Restrict processor mode change when in hypervisor modeSrinath Parvathaneni
If a CPU implements EL2 as its highest exception level then programs using newlib may start in hypervisor mode. In that state it is not trivial to switch into the various EL1 modes to configure the individual exception stacks, so do not try.
2023-03-03arm: Fix the SP used in setting stack limit for standalone application.Srinath Parvathaneni
Move the instruction that saves SP before the mode check so that applications that start in USER mode correctly set the stack limit.
2023-02-22Fix libgloss/newlib build to conditionally use top include dirJeff Johnston
- conditionally use -idirafter option for arm
2023-01-14libgloss: csky: fix pointer-to-integer warningMike Frysinger
parameters is an array of integers, so assigning NULL (a pointer) doesn't make sense. Use 0 instead which produces the same code.
2023-01-14libgloss: merge csky into top-level MakefileMike Frysinger
Avoid a recursive make to speed things up a bit. A csky-elf build shows installed objects & libs produce same code.
2023-01-13libgloss: csky: use atexit to call fini-array functions.Xianmiao Qu
__libc_fini_array should be called upon exit to call the global termination functions in fini-array, use atexit to register it at __start.
2023-01-12libgloss: merge nios2 into top-level MakefileMike Frysinger
Avoid a recursive make to speed things up a bit. A nios2-elf build shows installed objects & libs produce same code.
2023-01-11libgloss: merge d30v into top-level MakefileMike Frysinger
Avoid a recursive make to speed things up a bit.
2023-01-11libgloss: merge arc into top-level MakefileMike Frysinger
Avoid a recursive make to speed things up a bit.
2023-01-11libgloss: merge arm into top-level MakefileMike Frysinger
Avoid a recursive make to speed things up a bit.
2023-01-11libgloss: arm: break newlib dependencyMike Frysinger
The libgloss port has been reaching back into newlib internals for a single header whose contents have been frozen for almost a decade. To break this backwards libgloss->newlib dependency, move the acle header to the srcroot include/ so everyone can use the same copy.
2023-01-10libgloss: merge aarch64 into top-level MakefileMike Frysinger
Avoid a recursive make to speed things up a bit.
2022-12-20libgloss: rs6000: fix incorrect install dir for xil filesMike Frysinger
The install steps were missing the multilib qualifier causing them to always install in the same location and stomp each other.
2022-12-20libgloss: merge arm configure script up a levelMike Frysinger
Move the minor arm-specific logic to a dedicated variable so we can merge its configure logic up a level.
2022-12-20libgloss: merge aarch64 configure script up a levelMike Frysinger
Move the minor aarch64-specific logic to a dedicated variable so we can merge its configure logic up a level.
2022-12-20libgloss: drop unused multi-build logicMike Frysinger
Now that aarch64 & arm have migrated off this, we can punt it.
2022-12-20libgloss: arm: inline multi-build logicMike Frysinger
Since no other port uses this custom libgloss multi-build.in logic, and it's making things difficult to unify, drop it all. The set of installed objects and their content should be the same. There is a difference in the builds: currently we compile all the objects in this subdir twice, but only a subset of them use a diff set of flags, and are actually installed (the librdimon.a and its objects). So this change speeds things up by removing the duplicate compilation. There is a short term cost in having to duplicate the compile rules for the files that are different, but this is minor when compared to being able to delete the unused multi-build logic (which we'll do in a sep commit), and we'll be able to clean this up when we move the code to unified automake. None of this should be confused with the common multilib logic. This is *multi-build* which is processed in parallel.
2022-12-20libgloss: aarch64: delete unused multi-build logicMike Frysinger
This logic looks like it was copied from the arm port, but it isn't actually used here. Since no other port uses this custom libgloss multi-build.in logic, and it's making things difficult to unify, and aarch64 isn't even using it, drop it all. The set of installed objects and their content should be the same. Once we move this to unified automake, if we want to readd support for subdir multi-builds, it'll be a lot easier as we can just add another set of objects with custom flags. None of this should be confused with the common multilib logic. This *multi-build* which is processed in parallel.
2022-12-14libgloss: bfin: switch to CPPASCOMPILE for .S->.oMike Frysinger
We're compiling .S files, so use CPPAS instead of CC to compile since the point of CPPAS is to preprocess+assemble .S files.
2022-10-20libgloss: riscv: Install machine/syscall.hSimon Cook
A recent change to the Makefile.in for riscv resulted in the machine/syscall.h header not being installed. This updates the file to install this file again. Signed-off-by: Simon Cook <simon.cook@embecosm.com>
2022-08-26libgloss: riscv: Convert to non-recursive automakePalmer Dabbelt
PR 29515 points out our documentation builds are broken, let's just move over to the new non-recursive builds. Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-05-18Use global atexit data for all configurationsSebastian Huber
For the exit processing only members of _GLOBAL_REENT were used by default. If the _REENT_GLOBAL_ATEXIT option was enabled, then the data structures were provided through dedicated global objects. Make this option the default. Remove the option. Rename struct _reent members _atexit and _atexit0 to _reserved_6 and _reserved_7, respectively. Provide them only if _REENT_BACKWARD_BINARY_COMPAT is defined.
2022-04-27libgloss: pru: Fix _open syscal argumentsDimitar Dimitrov
The _open() C function is declared as having variable arguments in newlib, so second and third arguments are passed on stack. Add code to move them into registers, since that's where the PRU simulator expects them. Issue was exposed by the GCC test gcc.c-torture/execute/fprintf-2.c, which relies on tmpnam implementation to pass correct flags to _open. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2022-03-20Revert accidental change to v850/sim.ldJeff Law
2022-03-20Avoid using common symbols in v850 libglossJeff Law
I've had this lying around for probably a year or two at this point. It just changes all the instance of "errno" from a common symbol to an extern. I can't offhand recall where the actual definition is, but it certainly exists in the generic code.
2022-03-04libgloss: add new Build System Internals node to the menuMike Frysinger
Seems that some versions of texinfo require the @menu to have all entries at the top level, so add the new build one to it.
2022-03-02libgloss: merge lm32 into top-level MakefileMike Frysinger
Avoid a recursive make to speed things up a bit. This drops the header install logic because the lm32/ subdir doesn't actually have any header files to install.
2022-03-02libgloss: use m4_foreach_w to simplify the logic a bitMike Frysinger
It's functionally the same, but the configure.ac code is simpler and less boiler plate duplicated.
2022-03-01libgloss: add a little build system generation documentationMike Frysinger
This is a bit of an abbreviated form of what's in the Newlib subdir, but with emphasis on Libgloss-specific parts, and anything unique to it. I haven't put too much effort in.
2022-02-26libgloss: iq2000: fix prototypeMike Frysinger
2022-02-26libgloss: switch to AM_PROG_ARMike Frysinger
Now that we require Automake 1.15, we can use this macro rather than set the tool up ourselves. The current code doesn't properly search for a prefixed ar tool as-is.
2022-02-25libgloss: document & localize custom multi-do ruleMike Frysinger
The multi-build.in file in libgloss duplicates common multilib logic in the root source tree. Document it a bit, and rename the rule so it doesn't clash with the common multi-do rule. This will let us use them in the same makefile so we can merge aarch64/ & arm/ up (as the only targets that use this local multi-build.in atm).
2022-02-25libgloss: finish migration to AM_PROG_ASMike Frysinger
When merging iq2000 up a level, it included a partial conversion to AM_PROG_AS in the common directory. Finish it for all directories to kill off the custom LIB_AM_PROG_AS which we no longer need since we require Automake 1.15 now.
2022-02-25libgloss: switch to standard AC_PROG_CCMike Frysinger
Now that we use AC_NO_EXECUTABLES, and we require a recent version of autoconf, we don't need to define our own copies of these macros. So switch to the standard AC_PROG_CC.
2022-02-24libgloss: merge sparc configure script up a levelMike Frysinger
Move the minor sparc-specific logic to a dedicated variable so we can merge its configure logic up a level.
2022-02-23libgloss: enable maintainer mode supportMike Frysinger
Use AM_MAINTAINER_MODE so devs have to opt-in to automatic rebuilds of autotools. This matches what newlib (and most every other GNU toolchain package) does with automake.
2022-02-22Make __sdidinit unusedMatt Joyce
Remove dependency on __sdidinit member of struct _reent to check object initialization. Like __sdidinit, the __cleanup member of struct _reent is initialized in the __sinit() function. Checking initialization against __cleanup serves the same purpose and will reduce overhead in the __sfp() function in a follow up patch.
2022-02-18libgloss: have README point to the manualMike Frysinger
The README has such little info in it, so point people to the much more extensive porting manual.
2022-02-18libgloss: merge mips configure script up a levelMike Frysinger
Move the minor mips-specific logic to a dedicated file & namespace them so we can merge its configure logic up a level.
2022-02-18libgloss: merge wince configure script up a levelMike Frysinger
Move the minor wince-specific logic to a dedicated file & namespace them so we can merge its configure logic up a level. The makefile is a bit tricky, but maybe it still works.
2022-02-17libgloss: build with -nostdincMike Frysinger
We don't want libgloss building against C library headers that happened to be installed with the toolchain, so add -nostdinc to the build. We still need access to the compiler internal headers, so probe those and include them via -isystem. This uses a similar probing style as glibc, which has used it for over a decade, so it should be safe & stable. This should prevent any latent bugs due to testing with a toolchain that is fully configured & installed already.
2022-02-17libgloss: sparc: merge libsys/ up a levelMike Frysinger
The libsys/configure script isn't doing anything useful, so merge the logic up to the parent dir.
2022-02-17libgloss: aarch64: merge cpu-init/ up a levelMike Frysinger
The cpu-init/configure script isn't doing anything useful, so merge the logic up to the parent dir. This is how the arm/ tree integrates its cpu-init/ subdir too.
2022-02-17libgloss: merge mn10300 configure script up a levelMike Frysinger
Move the minor mn10300-specific logic to a dedicated file & namespace them so we can merge its configure logic up a level. part_specific_obj wasn't used anywhere (looks like copy & paste left over from mips), so drop it entirely.
2022-02-17libgloss: merge mn10200 configure script up a levelMike Frysinger
The mn10200-specific logic (setting up part_specific_obj) isn't used by the build anywhere -- looks like copy & paste left overs from mips. So punt that & merge the target_makefile_frag_path up to the top-level.
2022-02-17libgloss: merge m68k configure script up a levelMike Frysinger
Move the minor m68k-specific logic to a dedicated file & namespace them so we can merge its configure logic up a level.