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
2024-01-23libgloss: pru: Trim crt0-minrt.oDimitar Dimitrov
Strip a few more instructions from crt0-minrt.S: - Remove "halt" and rely on the infinite loop after main()'s return. - Remove main()'s argc and argv argument initialization. Host loader does not set them, and typical firmware does not use them, either. - Remove the __dso_handle symbol. This should be safe because the default crt0.S is fully standards compliant. Whereas crt0-minrt.S has been documented from the beginning to intentionally miss features in order to reduce firmware size, while still enabling typical PRU firmware to operate. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2024-01-23libgloss: merge pru into top-level MakefileDimitar Dimitrov
Avoid a recursive make to speed things up a bit. This change was inspired by the recent similar patch for c6x: https://sourceware.org/pipermail/newlib/2023/020869.html While at it, fork crt0-minrt.S into a separate source file instead of relying on a predefined macro to generate two different object files. This improves clarity, simplifies the build rules, and would allow further optimization in crt0-minrt.S to be implemented more cleanly. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2023-12-19libgloss: drop $(INCLUDES) when using $(AS)Mike Frysinger
Since $(AS) is the assembler, passing it a list of preprocessor include flags doesn't make much sense. The files aren't preprocessed which means `#include` lines aren't respected, and while it would affect `.include` usage, we never use that, and it's extremely unlikely to change. Plus, it's extremely unlikely we'd have .s files in common places to include vs contained entirely within a specific arch dir, and at that point, it can be included directly (with no flags), or the arch can add the unique set of include paths that it needs for itself.
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-01-28libgloss: Fix PRU & Blackfin mkinstalldirs pathDimitar Dimitrov
With the move of configure scripts out of target directories, relative paths to top_srcdir got broken: /bin/sh: .../newlib/libgloss/../../mkinstalldirs: No such file or directory Fix the PRU build by switching to srcroot relative path, as rest of targets do. Fix the Blackfin build in the same way. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2022-01-26libgloss: merge stub arch configure scripts up a levelMike Frysinger
For about half the ports, we don't need a subdir configure script. They're using the config/default.m[ht] rules, and they aren't doing any unique configure tests, so they exist just to pass top-level settings down to create the arch Makefile. We can just as easily do that from the top-level Mkaefile directly and skip configure. Most of the remaining configure scripts could be migrated up to the top-level too, but that would require care in each subdir. So let's be lazy and put that off to another day.
2022-01-17libgloss: clean up redundant shared lib warningsMike Frysinger
Use standard AC_MSG_WARN macro in the top-level configure, and delete the message from all the subdirs. There's no need to issue this more than once per libgloss build.
2022-01-14require autoconf-2.69 exactlyMike Frysinger
The newlib & libgloss dirs are already generated using autoconf-2.69. To avoid merging new code and/or accidental regeneration using diff versions, leverage config/override.m4 to pin to 2.69 exactly. This matches what gcc/binutils/gdb are already doing. The README file already says to use autoconf-2.69. To accomplish this, it's just as simple as adding -I flags to the top-level config/ dir when running aclocal. This is because the override.m4 file overrides AC_INIT to first require the specific autoconf version before calling the real AC_INIT.
2022-01-11libgloss: hardcode AC_CONFIG_AUX_DIR pathMike Frysinger
In order to transition to automake, we have to use hardcoded paths in the AC_CONFIG_AUX_DIR macro call (since automake evaluates the path itself, and doesn't expand vars), so simplify all the calls here.
2021-11-06libgloss: regenerate aclocal.m4 & configure w/newer versionsMike Frysinger
Regenerate the files using automake-1.15 & autoconf-2.69 to match the binutils/gdb/gcc projects. Ran: libgloss $ find -name configure.ac -printf '%h\n' | while read d; do (cd $d; export WANT_AUTOCONF=2.69 WANT_AUTOMAKE=1.15; aclocal-1.15 -I.. && autoconf-2.69); done
2021-09-13libgloss/newlib: rename configure.in to configure.acMike Frysinger
The .in name has been deprecated for a long time in favor of .ac.
2021-06-09libgloss: pru: Remove sim ld scriptDimitar Dimitrov
Binutils LD default linker script was recently fixed to allow memory sizes to be set via command line. Use this feature to remove the special sim linker script in libgloss. It is acceptable to require newer Binutils version here because simulator target is only used for regression testing the toolchain. Real HW targets are not affected. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2021-06-09libgloss: pru: Place sim syscalls into their own sectionsDimitar Dimitrov
This should help reduce final ELF size if using --gc-sections linker option. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2020-07-02pru: Fix memory corruption on syscall returnDimitar Dimitrov
In the initial code I missed one level of pointer indirection. Instead of storing errno in impure_data, _impure_ptr was corrupted. Only simulator is impacted. Real targets have no OS and no syscalls. This resolves a bunch of stdio cases from the GCC testsuite: FAIL->PASS: gcc.c-torture/execute/printf-2.c -O0 execution test Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2019-10-31Initial PRU port for libgloss and newlibDimitar Dimitrov
Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>