Re: [PATCH, RFC v2 0/8] add xtensa port

Jeff Johnston <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <CAOox84tSGRKFmML-kt0hto=ybVbEcOXiH5Vb1MfUQbrhAF9x4w@mail.gmail.com>
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 <[email protected]>
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
>
>
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.