[PATCH, RFC 0/8] add xtensa port

Alexey Lapshin <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
Here is a reworked commit from Max Filippov:
https://github.com/espressif/newlib-esp32/commit/3fc2b645bb708421962e68366aa8efbdce93d7e3

Max, I dropped some documentation changes, please review and tell if
you are ok with this.
And I dropped all changes for libm from your original commit because
they aren't used. Except disabling __ieee754_sqrtf implementation from
being compiled into libm (because it exists in libgcc). But I just gave
this function __attribute__((weak))

Also, added libgloss implementation for xtensa (for chips
esp32/esp32s3)

Please consider to apply.

Alexey Lapshin (6):
  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: fix xtensa 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          |   20 +
 .../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        |   20 +
 .../xtensa/boards/esp32s3/include/soc/cpu.h   |   11 +
 .../xtensa/boards/esp32s3/include/soc/uart.h  |   19 +
 libgloss/xtensa/boards/esp32s3/memory.elf.ld  |   26 +
 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                    |  226 +
 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          | 4994 +++++++++++++++++
 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 +
 87 files changed, 28556 insertions(+), 2 deletions(-)
 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.