[PATCH, RFC v2 0/8] add xtensa port
Alexey Lapshin
alexey.lapshin@espressif.com
Wed May 31 07:53:35 GMT 2023
Thank you for the feedback!
After I upgrade to latest newlib and do some tests I will resend the patches.
On Tue, 2023-05-30 at 15:58 -0400, Jeff Johnston wrote:
> 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 asconfigure.in or Makefile.am.
> In libgloss, configuration has been moved from sub-directories up to the top-levelconfigure.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
> >
More information about the Newlib
mailing list