[PATCH, RFC v2 0/8] add xtensa port
Jeff Johnston
jjohnstn@redhat.com
Tue May 30 19:58:35 GMT 2023
Hi Alexey,
Sorry for the delay on posting a review for this set of patches.
There are a number of issues. Most of them stem from the fact that this
patch isn't in sync with latest newlib which has simplified configuration.
For example, newlib/libc machine and sys directories now have a
Makefile.inc file in them as opposed to configuration files such as
configure.in or Makefile.am.
In libgloss, configuration has been moved from sub-directories up to the
top-level configure.ac.
I also would like to see your header file install issue addressed
differently. Right now, the top-level Makefile.am is assuming that there
are no directories
in include/machine/sys directories so it is using basename and installing
the headers directly. This logic should be changed to recognize
sub-directories
and install appropriately. Changing that logic would solve your problem
and any other ports in the future.
Regards,
-- Jeff J.
On Mon, May 15, 2023 at 9:45 AM Alexey Lapshin <alexey.lapshin@espressif.com>
wrote:
> On Fri, 2023-05-12 at 02:18 -0700, Max Filippov wrote:
> > The patches are line-wrapped and cannot be applied as is.
>
> Resend with fixed formatting:
>
> Alexey Lapshin (7):
> newlib: add system headers from include/$(sys_dir)/*/*.h
> libc: sys: add xtensa port
> libm: add xtensa port
> libc: add xtensa port
> libm: add attribute weak for __ieee754_sqrtf
> libgloss: libnosys: add xtensa port
> libgloss: add xtensa port
>
> Jeroen Domburg (1):
> libc: xtensa: fix PSRAM cache bug
>
> libgloss/configure | 5 +
> libgloss/configure.in | 3 +
> libgloss/libnosys/configure | 2 +
> libgloss/libnosys/configure.in | 2 +
> libgloss/xtensa/Makefile | 321 ++
> libgloss/xtensa/Makefile.in | 317 ++
> libgloss/xtensa/app.elf.ld | 190 +
> libgloss/xtensa/board.elf.specs | 5 +
> libgloss/xtensa/boards/esp32/board.c | 19 +
> .../xtensa/boards/esp32/include/soc/cpu.h | 11 +
> .../xtensa/boards/esp32/include/soc/uart.h | 19 +
> libgloss/xtensa/boards/esp32/memory.elf.ld | 26 +
> libgloss/xtensa/boards/esp32s3/board.c | 19 +
> .../xtensa/boards/esp32s3/include/soc/cpu.h | 11 +
> .../xtensa/boards/esp32s3/include/soc/uart.h | 19 +
> libgloss/xtensa/boards/esp32s3/memory.elf.ld | 21 +
> libgloss/xtensa/configure | 3753 +++++++++++++
> libgloss/xtensa/configure.in | 45 +
> libgloss/xtensa/crt0.S | 31 +
> libgloss/xtensa/crt1-boards.S | 226 +
> libgloss/xtensa/crt1-sim.S | 204 +
> libgloss/xtensa/default.specs | 2 +
> libgloss/xtensa/include/register_access.h | 7 +
> libgloss/xtensa/include/syscalls.h | 59 +
> libgloss/xtensa/include/xtensa/corebits.h | 186 +
> libgloss/xtensa/main.c | 10 +
> libgloss/xtensa/nano.specs | 18 +
> libgloss/xtensa/sim-call.S | 8 +
> libgloss/xtensa/sim-vectors.S | 163 +
> libgloss/xtensa/sim.elf.specs | 5 +
> libgloss/xtensa/sleep.S | 64 +
> libgloss/xtensa/sys.openocd.specs | 8 +
> libgloss/xtensa/sys.qemu.specs | 8 +
> libgloss/xtensa/syscalls.c | 211 +
> libgloss/xtensa/window-vectors.S | 252 +
> newlib/Makefile.am | 21 +
> newlib/Makefile.in | 21 +
> newlib/configure.host | 11 +
> newlib/libc/include/machine/ieeefp.h | 4 +
> newlib/libc/include/machine/setjmp.h | 29 +
> newlib/libc/machine/configure | 3 +
> newlib/libc/machine/xtensa/Makefile.am | 21 +
> newlib/libc/machine/xtensa/Makefile.in | 456 ++
> newlib/libc/machine/xtensa/aclocal.m4 | 992 ++++
> newlib/libc/machine/xtensa/configure | 4763 +++++++++++++++++
> newlib/libc/machine/xtensa/configure.in | 14 +
> newlib/libc/machine/xtensa/memcpy.S | 343 ++
> newlib/libc/machine/xtensa/memset.S | 193 +
> newlib/libc/machine/xtensa/setjmp.S | 260 +
> newlib/libc/machine/xtensa/strcmp.S | 778 +++
> newlib/libc/machine/xtensa/strcpy.S | 274 +
> newlib/libc/machine/xtensa/strlen.S | 115 +
> newlib/libc/machine/xtensa/strncpy.S | 274 +
> newlib/libc/machine/xtensa/xtensa-asm.h | 72 +
> newlib/libc/machine/xtensa/xtensa.tex | 72 +
> newlib/libc/sys/configure | 3 +
> newlib/libc/sys/xtensa/Makefile.am | 14 +
> newlib/libc/sys/xtensa/Makefile.in | 388 ++
> newlib/libc/sys/xtensa/_atexit.c | 53 +
> newlib/libc/sys/xtensa/aclocal.m4 | 880 +++
> newlib/libc/sys/xtensa/clibrary_init.c | 42 +
> newlib/libc/sys/xtensa/configure | 4623 ++++++++++++++++
> newlib/libc/sys/xtensa/configure.in | 14 +
> newlib/libc/sys/xtensa/creat.c | 9 +
> newlib/libc/sys/xtensa/crt0.c | 16 +
> newlib/libc/sys/xtensa/include/fenv.h | 88 +
> newlib/libc/sys/xtensa/include/unistd.h | 13 +
> .../xtensa/include/xtensa/config/core-isa.h | 655 +++
> newlib/libc/sys/xtensa/isatty.c | 18 +
> newlib/libc/sys/xtensa/sys/file.h | 33 +
> newlib/libm/machine/configure | 3 +
> newlib/libm/machine/xtensa/Makefile.am | 21 +
> newlib/libm/machine/xtensa/Makefile.in | 467 ++
> newlib/libm/machine/xtensa/aclocal.m4 | 880 +++
> newlib/libm/machine/xtensa/configure | 4623 ++++++++++++++++
> newlib/libm/machine/xtensa/configure.in | 14 +
> newlib/libm/machine/xtensa/feclearexcept.c | 49 +
> newlib/libm/machine/xtensa/fegetenv.c | 56 +
> newlib/libm/machine/xtensa/fegetexcept.c | 67 +
> newlib/libm/machine/xtensa/fegetexceptflag.c | 64 +
> newlib/libm/machine/xtensa/fegetround.c | 50 +
> newlib/libm/machine/xtensa/feholdexcept.c | 55 +
> newlib/libm/machine/xtensa/feraiseexcept.c | 50 +
> newlib/libm/machine/xtensa/fetestexcept.c | 41 +
> newlib/libm/machine/xtensa/feupdateenv.c | 45 +
> newlib/libm/math/ef_sqrt.c | 1 +
> 86 files changed, 28301 insertions(+)
> create mode 100644 libgloss/xtensa/Makefile
> create mode 100644 libgloss/xtensa/Makefile.in
> create mode 100644 libgloss/xtensa/app.elf.ld
> create mode 100644 libgloss/xtensa/board.elf.specs
> create mode 100644 libgloss/xtensa/boards/esp32/board.c
> create mode 100644 libgloss/xtensa/boards/esp32/include/soc/cpu.h
> create mode 100644 libgloss/xtensa/boards/esp32/include/soc/uart.h
> create mode 100644 libgloss/xtensa/boards/esp32/memory.elf.ld
> create mode 100644 libgloss/xtensa/boards/esp32s3/board.c
> create mode 100644 libgloss/xtensa/boards/esp32s3/include/soc/cpu.h
> create mode 100644 libgloss/xtensa/boards/esp32s3/include/soc/uart.h
> create mode 100644 libgloss/xtensa/boards/esp32s3/memory.elf.ld
> create mode 100755 libgloss/xtensa/configure
> create mode 100644 libgloss/xtensa/configure.in
> create mode 100644 libgloss/xtensa/crt0.S
> create mode 100644 libgloss/xtensa/crt1-boards.S
> create mode 100644 libgloss/xtensa/crt1-sim.S
> create mode 100644 libgloss/xtensa/default.specs
> create mode 100644 libgloss/xtensa/include/register_access.h
> create mode 100644 libgloss/xtensa/include/syscalls.h
> create mode 100644 libgloss/xtensa/include/xtensa/corebits.h
> create mode 100644 libgloss/xtensa/main.c
> create mode 100644 libgloss/xtensa/nano.specs
> create mode 100644 libgloss/xtensa/sim-call.S
> create mode 100644 libgloss/xtensa/sim-vectors.S
> create mode 100644 libgloss/xtensa/sim.elf.specs
> create mode 100644 libgloss/xtensa/sleep.S
> create mode 100644 libgloss/xtensa/sys.openocd.specs
> create mode 100644 libgloss/xtensa/sys.qemu.specs
> create mode 100644 libgloss/xtensa/syscalls.c
> create mode 100644 libgloss/xtensa/window-vectors.S
> create mode 100644 newlib/libc/machine/xtensa/Makefile.am
> create mode 100644 newlib/libc/machine/xtensa/Makefile.in
> create mode 100644 newlib/libc/machine/xtensa/aclocal.m4
> create mode 100755 newlib/libc/machine/xtensa/configure
> create mode 100644 newlib/libc/machine/xtensa/configure.in
> create mode 100644 newlib/libc/machine/xtensa/memcpy.S
> create mode 100644 newlib/libc/machine/xtensa/memset.S
> create mode 100644 newlib/libc/machine/xtensa/setjmp.S
> create mode 100644 newlib/libc/machine/xtensa/strcmp.S
> create mode 100644 newlib/libc/machine/xtensa/strcpy.S
> create mode 100644 newlib/libc/machine/xtensa/strlen.S
> create mode 100644 newlib/libc/machine/xtensa/strncpy.S
> create mode 100644 newlib/libc/machine/xtensa/xtensa-asm.h
> create mode 100644 newlib/libc/machine/xtensa/xtensa.tex
> create mode 100644 newlib/libc/sys/xtensa/Makefile.am
> create mode 100644 newlib/libc/sys/xtensa/Makefile.in
> create mode 100644 newlib/libc/sys/xtensa/_atexit.c
> create mode 100644 newlib/libc/sys/xtensa/aclocal.m4
> create mode 100644 newlib/libc/sys/xtensa/clibrary_init.c
> create mode 100755 newlib/libc/sys/xtensa/configure
> create mode 100644 newlib/libc/sys/xtensa/configure.in
> create mode 100644 newlib/libc/sys/xtensa/creat.c
> create mode 100644 newlib/libc/sys/xtensa/crt0.c
> create mode 100644 newlib/libc/sys/xtensa/include/fenv.h
> create mode 100644 newlib/libc/sys/xtensa/include/unistd.h
> create mode 100644 newlib/libc/sys/xtensa/include/xtensa/config/core-isa.h
> create mode 100644 newlib/libc/sys/xtensa/isatty.c
> create mode 100644 newlib/libc/sys/xtensa/sys/file.h
> create mode 100644 newlib/libm/machine/xtensa/Makefile.am
> create mode 100644 newlib/libm/machine/xtensa/Makefile.in
> create mode 100644 newlib/libm/machine/xtensa/aclocal.m4
> create mode 100755 newlib/libm/machine/xtensa/configure
> create mode 100644 newlib/libm/machine/xtensa/configure.in
> create mode 100644 newlib/libm/machine/xtensa/feclearexcept.c
> create mode 100644 newlib/libm/machine/xtensa/fegetenv.c
> create mode 100644 newlib/libm/machine/xtensa/fegetexcept.c
> create mode 100644 newlib/libm/machine/xtensa/fegetexceptflag.c
> create mode 100644 newlib/libm/machine/xtensa/fegetround.c
> create mode 100644 newlib/libm/machine/xtensa/feholdexcept.c
> create mode 100644 newlib/libm/machine/xtensa/feraiseexcept.c
> create mode 100644 newlib/libm/machine/xtensa/fetestexcept.c
> create mode 100644 newlib/libm/machine/xtensa/feupdateenv.c
>
> --
> 2.34.1
>
>
More information about the Newlib
mailing list