* PlayStation 2 newlib port
@ 2023-06-13 18:31 Francisco Javier Trujillo Mata
2023-06-19 20:41 ` Jeff Johnston
0 siblings, 1 reply; 5+ messages in thread
From: Francisco Javier Trujillo Mata @ 2023-06-13 18:31 UTC (permalink / raw)
To: newlib
[-- Attachment #1.1: Type: text/plain, Size: 1087 bytes --]
Hi there!
I would like to mainstream the PS2 newlib port. So far the PS2 has had
newlib ports for years, however, it was never intended to be merged into
the mainstream.
I'm now trying to port to the latest release 4.3.0, however, I'm suffering
some errors during the compilation process.
I have attached the changes that I have done so far.
Then I just rerun the command `autoreconf` using the proper autoconf and
automake versions
I execute `configure` with:
PROC_NR=$(getconf _NPROCESSORS_ONLN)
TARGET="mips64r5900el-ps2-elf"
TARGET_ALIAS="ee"
## Create and enter the toolchain/build directory
rm -rf "build-$TARGET"
mkdir "build-$TARGET"
cd "build-$TARGET"
## Configure the build.
CFLAGS_FOR_TARGET="-O2" ../configure \
--prefix="$PS2DEV/$TARGET_ALIAS" \
--target="$TARGET" \
--enable-newlib-retargetable-locking \
$TARG_XTRA_OPTS
## Compile and install.
make -j "$PROC_NR" all
And then it always fails with this error,
fatal error: opening dependency file libc/sys/ps2/.deps/crt0.Tpo: No such
file or directory
Could you help me to identify where the issue is?
Cheers.
[-- Attachment #2: newlib-9305e82-Add specific r5900 machine and ps2 sys.patch --]
[-- Type: application/octet-stream, Size: 9185 bytes --]
From 9305e82aa11c15f6cc8ebceba13a297c735dfe03 Mon Sep 17 00:00:00 2001
From: Francisco Javier Trujillo Mata <fran.t.es@sync.money>
Date: Wed, 24 Feb 2021 11:48:14 +0100
Subject: [PATCH] Add specific r5900 machine and ps2 sys
- Do not use libgloss (we have ps2sdk)
- Use newlib reentrant syscalls
- Use posix functions
- Exclude OPENDIR functions
- Add -G0 in the newlib_cflags
- Fix time.h should have nanosleep defined
- Fix setjmp for R5900 CPU
- Add _POSIX_MONOTONIC_CLOCK to features
---
configure | 3 +
newlib/configure.host | 13 ++++
newlib/libc/acinclude.m4 | 3 +-
newlib/libc/include/machine/setjmp.h | 9 ++-
newlib/libc/include/sys/features.h | 5 ++
newlib/libc/machine/Makefile.inc | 3 +
newlib/libc/machine/r5900/Makefile.inc | 1 +
newlib/libc/machine/r5900/setjmp.S | 104 +++++++++++++++++++++++++
newlib/libc/sys/Makefile.inc | 3 +
newlib/libc/sys/ps2/Makefile.inc | 0
newlib/libc/sys/ps2/crt0.c | 3 +
newlib/libc/sys/ps2/machine/_types.h | 9 +++
newlib/libc/sys/ps2/sys/dirent.h | 23 ++++++
13 files changed, 177 insertions(+), 2 deletions(-)
create mode 100644 newlib/libc/machine/r5900/Makefile.inc
create mode 100644 newlib/libc/machine/r5900/setjmp.S
create mode 100644 newlib/libc/sys/ps2/Makefile.inc
create mode 100644 newlib/libc/sys/ps2/crt0.c
create mode 100644 newlib/libc/sys/ps2/machine/_types.h
create mode 100644 newlib/libc/sys/ps2/sys/dirent.h
diff --git a/configure b/configure
index eb0ba840b..44ed93b67 100755
--- a/configure
+++ b/configure
@@ -3971,6 +3971,9 @@ case "${target}" in
| mips*-*-irix* | mips*-*-lnews* | mips*-*-riscos*)
noconfigdirs="$noconfigdirs ld gas gprof"
;;
+ mips*-ps2-*)
+ noconfigdirs="$noconfigdirs gprof target-libgloss"
+ ;;
mips*-*-*)
noconfigdirs="$noconfigdirs gprof"
;;
diff --git a/newlib/configure.host b/newlib/configure.host
index 0a1ba282a..2cd48ddeb 100644
--- a/newlib/configure.host
+++ b/newlib/configure.host
@@ -245,6 +245,10 @@ case "${host_cpu}" in
mep)
machine_dir=mep
;;
+ mips64r5900*)
+ machine_dir=r5900
+ newlib_cflags="${newlib_cflags} -DMALLOC_ALIGNMENT=16"
+ ;;
mips*)
machine_dir=mips
libm_machine_dir=mips
@@ -520,6 +524,11 @@ case "${host}" in
microblaze*-*-*)
machine_dir=microblaze
;;
+ mips*-ps2-*)
+ sys_dir=ps2
+ posix_dir=posix
+ newlib_cflags="${newlib_cflags} -G0 -DHAVE_NANOSLEEP -DHAVE_OPENDIR"
+ ;;
mmix-knuth-mmixware)
sys_dir=mmixware
;;
@@ -759,6 +768,10 @@ newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DEXIT_PROVID
default_newlib_io_long_long="yes"
newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
;;
+ mips*-ps2-elf*)
+ syscall_dir=syscalls
+ default_newlib_io_long_long="yes"
+ ;;
mips*-*-elf*)
default_newlib_io_long_long="yes"
newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
diff --git a/newlib/libc/acinclude.m4 b/newlib/libc/acinclude.m4
index 7cba7db39..073795a29 100644
--- a/newlib/libc/acinclude.m4
+++ b/newlib/libc/acinclude.m4
@@ -19,6 +19,7 @@ m4_foreach_w([SYS_DIR], [
m88kbug mmixware
netware
or1k
+ ps2
rdos rtems
sh sysmec sysnec810 sysnecv850 sysvi386 sysvnecv70
tic80 tirtos
@@ -53,7 +54,7 @@ m4_foreach_w([MACHINE], [
nds32 necv70 nios2 nvptx
or1k
powerpc pru
- riscv rl78 rx
+ r5900 riscv rl78 rx
sh sparc spu
tic4x tic6x tic80
v850 visium
diff --git a/newlib/libc/include/machine/setjmp.h b/newlib/libc/include/machine/setjmp.h
index 29b76cec1..b6b619f03 100644
--- a/newlib/libc/include/machine/setjmp.h
+++ b/newlib/libc/include/machine/setjmp.h
@@ -129,10 +129,17 @@ _BEGIN_STD_C
#ifdef __mips__
# if defined(__mips64)
-# define _JBTYPE long long
+# if defined(_MIPS_ARCH_R5900)
+ typedef unsigned int jbtype128 __attribute__(( mode(TI) ));
+# define _JBTYPE jbtype128
+# else
+# define _JBTYPE long long
+# endif
# endif
# ifdef __mips_soft_float
# define _JBLEN 11
+# elif defined(_MIPS_ARCH_R5900)
+# define _JBLEN 14
# else
# define _JBLEN 23
# endif
diff --git a/newlib/libc/include/sys/features.h b/newlib/libc/include/sys/features.h
index 45476ce4a..cfcaf9664 100644
--- a/newlib/libc/include/sys/features.h
+++ b/newlib/libc/include/sys/features.h
@@ -532,6 +532,11 @@ extern "C" {
#endif /* __CYGWIN__ */
+#ifdef _MIPS_ARCH_R5900
+# define _POSIX_TIMERS 1
+# define _POSIX_MONOTONIC_CLOCK 200112L
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/newlib/libc/machine/Makefile.inc b/newlib/libc/machine/Makefile.inc
index 8aae2c52c..4113d0264 100644
--- a/newlib/libc/machine/Makefile.inc
+++ b/newlib/libc/machine/Makefile.inc
@@ -124,6 +124,9 @@ endif
if HAVE_LIBC_MACHINE_PRU
include %D%/pru/Makefile.inc
endif
+if HAVE_LIBC_MACHINE_R5900
+include %D%/r5900/Makefile.inc
+endif
if HAVE_LIBC_MACHINE_RISCV
include %D%/riscv/Makefile.inc
endif
diff --git a/newlib/libc/machine/r5900/Makefile.inc b/newlib/libc/machine/r5900/Makefile.inc
new file mode 100644
index 000000000..67137bce4
--- /dev/null
+++ b/newlib/libc/machine/r5900/Makefile.inc
@@ -0,0 +1 @@
+libc_a_SOURCES += %D%/setjmp.S
diff --git a/newlib/libc/machine/r5900/setjmp.S b/newlib/libc/machine/r5900/setjmp.S
new file mode 100644
index 000000000..cda45dcdd
--- /dev/null
+++ b/newlib/libc/machine/r5900/setjmp.S
@@ -0,0 +1,104 @@
+/* This is a simple version of setjmp and longjmp.
+ * Floating point support in. */
+
+#define O_S0 0x00
+#define O_S1 0x10
+#define O_S2 0x20
+#define O_S3 0x30
+#define O_S4 0x40
+#define O_S5 0x50
+#define O_S6 0x60
+#define O_S7 0x70
+#define O_FP 0x80
+#define O_SP 0x90
+#define O_RA 0xa0
+#define O_F20 0xb0
+#define O_F21 0xb4
+#define O_F22 0xb8
+#define O_F23 0xbc
+#define O_F24 0xc0
+#define O_F25 0xc4
+#define O_F26 0xc8
+#define O_F27 0xcc
+#define O_F28 0xd0
+#define O_F29 0xd4
+#define O_F30 0xd8
+#define O_F31 0xdc
+
+/* int setjmp (jmp_buf); */
+ .globl setjmp
+ .ent setjmp
+setjmp:
+ .frame $sp,0,$31
+
+ sq $s0, O_S0($a0)
+ sq $s1, O_S1($a0)
+ sq $s2, O_S2($a0)
+ sq $s3, O_S3($a0)
+ sq $s4, O_S4($a0)
+ sq $s5, O_S5($a0)
+ sq $s6, O_S6($a0)
+ sq $s7, O_S7($a0)
+ sq $fp, O_FP($a0)
+ sq $sp, O_SP($a0)
+ sq $ra, O_RA($a0)
+
+ swc1 $f20, O_F20($a0)
+ swc1 $f21, O_F21($a0)
+ swc1 $f22, O_F22($a0)
+ swc1 $f23, O_F23($a0)
+ swc1 $f24, O_F24($a0)
+ swc1 $f25, O_F25($a0)
+ swc1 $f26, O_F26($a0)
+ swc1 $f27, O_F27($a0)
+ swc1 $f28, O_F28($a0)
+ swc1 $f29, O_F29($a0)
+ swc1 $f30, O_F30($a0)
+ swc1 $f31, O_F31($a0)
+
+
+ move $v0, $0
+
+ jr $ra
+
+ .end setjmp
+
+/* volatile void longjmp (jmp_buf, int); */
+ .globl longjmp
+ .ent longjmp
+longjmp:
+ .frame $sp,0,$31
+
+ lq $s0, O_S0($a0)
+ lq $s1, O_S1($a0)
+ lq $s2, O_S2($a0)
+ lq $s3, O_S3($a0)
+ lq $s4, O_S4($a0)
+ lq $s5, O_S5($a0)
+ lq $s6, O_S6($a0)
+ lq $s7, O_S7($a0)
+ lq $fp, O_FP($a0)
+ lq $sp, O_SP($a0)
+ lq $ra, O_RA($a0)
+
+ lwc1 $f20, O_F20($a0)
+ lwc1 $f21, O_F21($a0)
+ lwc1 $f22, O_F22($a0)
+ lwc1 $f23, O_F23($a0)
+ lwc1 $f24, O_F24($a0)
+ lwc1 $f25, O_F25($a0)
+ lwc1 $f26, O_F26($a0)
+ lwc1 $f27, O_F27($a0)
+ lwc1 $f28, O_F28($a0)
+ lwc1 $f29, O_F29($a0)
+ lwc1 $f30, O_F30($a0)
+ lwc1 $f31, O_F31($a0)
+
+ bne $a0, $0, 1f
+ li $a0, 1
+1:
+ move $v0, $a0
+
+ jr $ra
+
+ .end longjmp
diff --git a/newlib/libc/sys/Makefile.inc b/newlib/libc/sys/Makefile.inc
index 9f8758934..017dfc044 100644
--- a/newlib/libc/sys/Makefile.inc
+++ b/newlib/libc/sys/Makefile.inc
@@ -31,6 +31,9 @@ endif
if HAVE_LIBC_SYS_OR1K_DIR
include %D%/or1k/Makefile.inc
endif
+if HAVE_LIBC_SYS_PS2_DIR
+include %D%/ps2/Makefile.inc
+endif
if HAVE_LIBC_SYS_RDOS_DIR
include %D%/rdos/Makefile.inc
endif
diff --git a/newlib/libc/sys/ps2/Makefile.inc b/newlib/libc/sys/ps2/Makefile.inc
new file mode 100644
index 000000000..e69de29bb
diff --git a/newlib/libc/sys/ps2/crt0.c b/newlib/libc/sys/ps2/crt0.c
new file mode 100644
index 000000000..d5d534808
--- /dev/null
+++ b/newlib/libc/sys/ps2/crt0.c
@@ -0,0 +1,3 @@
+/* The real crt0.c lives in PS2SDK. */
+
+void _start() { }
\ No newline at end of file
diff --git a/newlib/libc/sys/ps2/machine/_types.h b/newlib/libc/sys/ps2/machine/_types.h
new file mode 100644
index 000000000..b9905d4ea
--- /dev/null
+++ b/newlib/libc/sys/ps2/machine/_types.h
@@ -0,0 +1,9 @@
+#ifndef _MACHINE__TYPES_H
+#define _MACHINE__TYPES_H
+
+#include <machine/_default_types.h>
+
+typedef __int64_t _off_t;
+#define __machine_off_t_defined
+
+#endif /* _MACHINE__TYPES_H */
diff --git a/newlib/libc/sys/ps2/sys/dirent.h b/newlib/libc/sys/ps2/sys/dirent.h
new file mode 100644
index 000000000..7b504ee11
--- /dev/null
+++ b/newlib/libc/sys/ps2/sys/dirent.h
@@ -0,0 +1,23 @@
+#ifndef _SYS_DIRENT_H
+#define _SYS_DIRENT_H
+
+typedef struct __dirdesc {
+ int dd_fd;
+ char *dd_buf;
+} DIR;
+
+# define __dirfd(dp) ((dp)->dd_fd)
+
+#include <sys/stat.h>
+
+#undef MAXNAMLEN /* from unistd.h */
+#define MAXNAMLEN 255
+
+#define d_ino d_fileno /* compatibility */
+
+struct dirent {
+ struct stat d_stat;
+ char d_name[MAXNAMLEN + 1];
+};
+
+#endif
\ No newline at end of file
--
2.37.5
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PlayStation 2 newlib port
2023-06-13 18:31 PlayStation 2 newlib port Francisco Javier Trujillo Mata
@ 2023-06-19 20:41 ` Jeff Johnston
2023-06-20 7:05 ` Francisco Javier Trujillo Mata
0 siblings, 1 reply; 5+ messages in thread
From: Jeff Johnston @ 2023-06-19 20:41 UTC (permalink / raw)
To: Francisco Javier Trujillo Mata; +Cc: newlib
[-- Attachment #1: Type: text/plain, Size: 1960 bytes --]
Hi Francisco,
If you would like help, I would suggest you tell others where they can get
a proper toolset to build with or at least
attach your build log which may provide more info. I certainly don't have
a Playstation 2 toolset hanging around.
In addition, looking at your patches, you are missing copyright/licensing
info for the new files you are adding
(as opposed to existing files you are modifying). If you are taking code
from another location, you cannot change
their license/copyright. If you wrote these from scratch you should
indicate this but you still need to add the licensing/copyright
info.
Regards,
-- Jeff J.
On Tue, Jun 13, 2023 at 2:31 PM Francisco Javier Trujillo Mata <
fjtrujy@gmail.com> wrote:
> Hi there!
> I would like to mainstream the PS2 newlib port. So far the PS2 has had
> newlib ports for years, however, it was never intended to be merged into
> the mainstream.
>
> I'm now trying to port to the latest release 4.3.0, however, I'm suffering
> some errors during the compilation process.
>
> I have attached the changes that I have done so far.
> Then I just rerun the command `autoreconf` using the proper autoconf and
> automake versions
>
> I execute `configure` with:
>
> PROC_NR=$(getconf _NPROCESSORS_ONLN)
>
> TARGET="mips64r5900el-ps2-elf"
> TARGET_ALIAS="ee"
>
> ## Create and enter the toolchain/build directory
> rm -rf "build-$TARGET"
> mkdir "build-$TARGET"
> cd "build-$TARGET"
>
> ## Configure the build.
> CFLAGS_FOR_TARGET="-O2" ../configure \
> --prefix="$PS2DEV/$TARGET_ALIAS" \
> --target="$TARGET" \
> --enable-newlib-retargetable-locking \
> $TARG_XTRA_OPTS
>
> ## Compile and install.
> make -j "$PROC_NR" all
>
>
> And then it always fails with this error,
>
> fatal error: opening dependency file libc/sys/ps2/.deps/crt0.Tpo: No such
> file or directory
>
> Could you help me to identify where the issue is?
>
> Cheers.
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PlayStation 2 newlib port
2023-06-19 20:41 ` Jeff Johnston
@ 2023-06-20 7:05 ` Francisco Javier Trujillo Mata
2023-09-19 16:38 ` Francisco Javier Trujillo Mata
0 siblings, 1 reply; 5+ messages in thread
From: Francisco Javier Trujillo Mata @ 2023-06-20 7:05 UTC (permalink / raw)
To: Jeff Johnston; +Cc: newlib
[-- Attachment #1.1: Type: text/plain, Size: 5027 bytes --]
Hello Jeff,
First of all thanks for replying and paying attention to my message.
To install the proper PS2 Environment to be able to compile and generate
PS2 binaries, you require to follow the steps given here:
https://github.com/ps2dev/ps2dev
The PS2 is a complex machine, (it has 3 main CPUs DVP, IOP, and EE, which
means 3 toolchains...) so the whole PS2 development environment is not an
easy thing, there are plenty of tools and repositories involved, and as
part of this set of tools, and we also have Newlib, as you can see in the
next link (which is using a fork with our specific changes).
https://github.com/ps2dev/ps2toolchain-ee/blob/main/scripts/003-newlib.sh
However, if we just want to check if Newlib compiles for this PS2 port we
are creating, we just need to pay attention to the EE CPU, which is the
next repo:
https://github.com/ps2dev/ps2toolchain-ee
There under the "scripts" folder, you can see how Newlib is the 3rd step,
so if we want to check if Newlib is compiling, you just need to have proper
binutils and GCC installed previously (first and second steps).
Additionally, to make easier the usage of the whole PS2 toolchain, we are
offering some precompiled toolchains:
https://github.com/ps2dev/ps2dev/releases/tag/latest
And also the possibility of using dockers:
https://hub.docker.com/layers/ps2dev/ps2dev/latest/images/sha256-e6000652581b4d43d135f1862ecccabe4b11dd2afa3edb667b48736d815b59c1?context=explore
For executing the generated binaries, you will require either a PS2 that
allows you to execute homebrews or a PS2 emulator.
Regarding the changes I have made, all the files have been created from
scratch for me, anyway, I'm part of the PS2Dev community, so I will add the
PS2DEV license to these files.
Finally, regarding my original request, I was suffering issues when
compiling Newlib after adding the specific PS2 changes, I have found a
workaround to make it work, that probably will tell you more about the
actual issue.
When adding a new "sys" to the Newlib, in our case "newlib/libc/sys/ps2",
if you just add the crt0 file (it doesn't matter if it is .S, .s or .c),
which means that you "Makefile.inc" is going to be empty, you will suffer
the compilations issues that I previously mentioned.
fatal error: opening dependency file libc/sys/ps2/.deps/crt0.Tpo: No such
file or directory
However, if you add an extra file in the sys/ps2 directory, like a dummy.c
empty, and obviously, add the reference of this file into the
"Makefile.inc", then the library compiles properly generating the expected
".a" and ".o" files.
I suppose that the same issue that I'm speaking about most probably is also
being suffered with the tic80 system.
https://github.com/bminor/newlib/tree/master/newlib/libc/sys/tic80
Finally, I'm going to attach the compilation log.
Regards,
Francisco.
El lun, 19 jun 2023 a las 22:42, Jeff Johnston (<jjohnstn@redhat.com>)
escribió:
> Hi Francisco,
>
> If you would like help, I would suggest you tell others where they can get
> a proper toolset to build with or at least
> attach your build log which may provide more info. I certainly don't have
> a Playstation 2 toolset hanging around.
>
> In addition, looking at your patches, you are missing copyright/licensing
> info for the new files you are adding
> (as opposed to existing files you are modifying). If you are taking code
> from another location, you cannot change
> their license/copyright. If you wrote these from scratch you should
> indicate this but you still need to add the licensing/copyright
> info.
>
> Regards,
>
> -- Jeff J.
>
> On Tue, Jun 13, 2023 at 2:31 PM Francisco Javier Trujillo Mata <
> fjtrujy@gmail.com> wrote:
>
>> Hi there!
>> I would like to mainstream the PS2 newlib port. So far the PS2 has had
>> newlib ports for years, however, it was never intended to be merged into
>> the mainstream.
>>
>> I'm now trying to port to the latest release 4.3.0, however, I'm suffering
>> some errors during the compilation process.
>>
>> I have attached the changes that I have done so far.
>> Then I just rerun the command `autoreconf` using the proper autoconf and
>> automake versions
>>
>> I execute `configure` with:
>>
>> PROC_NR=$(getconf _NPROCESSORS_ONLN)
>>
>> TARGET="mips64r5900el-ps2-elf"
>> TARGET_ALIAS="ee"
>>
>> ## Create and enter the toolchain/build directory
>> rm -rf "build-$TARGET"
>> mkdir "build-$TARGET"
>> cd "build-$TARGET"
>>
>> ## Configure the build.
>> CFLAGS_FOR_TARGET="-O2" ../configure \
>> --prefix="$PS2DEV/$TARGET_ALIAS" \
>> --target="$TARGET" \
>> --enable-newlib-retargetable-locking \
>> $TARG_XTRA_OPTS
>>
>> ## Compile and install.
>> make -j "$PROC_NR" all
>>
>>
>> And then it always fails with this error,
>>
>> fatal error: opening dependency file libc/sys/ps2/.deps/crt0.Tpo: No such
>> file or directory
>>
>> Could you help me to identify where the issue is?
>>
>> Cheers.
>>
>
[-- Attachment #2: newlib-PS2.log --]
[-- Type: application/octet-stream, Size: 58964 bytes --]
checking build system type... x86_64-apple-darwin22.5.0
checking host system type... x86_64-apple-darwin22.5.0
checking target system type... mips64r5900el-ps2-elf
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln works... yes
checking whether ln -s works... yes
checking for a sed that does not truncate output... /usr/local/opt/gnu-sed/libexec/gnubin/sed
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether g++ accepts -static-libstdc++ -static-libgcc... no
checking for gnatbind... no
checking for gnatmake... no
checking whether compiler driver understands Ada... no
checking how to compare bootstrapped objects... cmp --ignore-initial=16 $$f1 $$f2
checking for objdir... .libs
checking for isl 0.16, 0.15, or deprecated 0.14... yes
checking for isl 0.16 or 0.15... yes
*** This configuration is not supported in the following subdirectories:
target-libgloss
(Any other directories should still work fine.)
rm: conftest.dSYM: is a directory
checking for default BUILD_CONFIG...
checking for --enable-vtable-verify... no
checking for bison... bison -y
checking for bison... bison
checking for gm4... gm4
checking for flex... flex
checking for flex... flex
checking for makeinfo... makeinfo
checking for expect... expect
checking for runtest... no
checking for ar... ar
checking for as... as
checking for dlltool... no
checking for ld... (cached) /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking for lipo... lipo
checking for nm... nm
checking for ranlib... ranlib
checking for strip... strip
checking for windres... no
checking for windmc... no
checking for objcopy... no
checking for objdump... objdump
checking for readelf... no
checking for -plugin option... rm: conftest.dSYM: is a directory
no
checking for mips64r5900el-ps2-elf-cc... no
checking for mips64r5900el-ps2-elf-gcc... mips64r5900el-ps2-elf-gcc
checking for mips64r5900el-ps2-elf-c++... mips64r5900el-ps2-elf-c++
checking for mips64r5900el-ps2-elf-gcc... mips64r5900el-ps2-elf-gcc
checking for mips64r5900el-ps2-elf-gcj... no
checking for mips64r5900el-ps2-elf-gfortran... no
checking for mips64r5900el-ps2-elf-gccgo... no
checking for mips64r5900el-ps2-elf-ar... mips64r5900el-ps2-elf-ar
checking for mips64r5900el-ps2-elf-as... mips64r5900el-ps2-elf-as
checking for mips64r5900el-ps2-elf-dlltool... no
checking for mips64r5900el-ps2-elf-ld... mips64r5900el-ps2-elf-ld
checking for mips64r5900el-ps2-elf-lipo... no
checking for mips64r5900el-ps2-elf-nm... mips64r5900el-ps2-elf-nm
checking for mips64r5900el-ps2-elf-objcopy... mips64r5900el-ps2-elf-objcopy
checking for mips64r5900el-ps2-elf-objdump... mips64r5900el-ps2-elf-objdump
checking for mips64r5900el-ps2-elf-ranlib... mips64r5900el-ps2-elf-ranlib
checking for mips64r5900el-ps2-elf-readelf... mips64r5900el-ps2-elf-readelf
checking for mips64r5900el-ps2-elf-strip... mips64r5900el-ps2-elf-strip
checking for mips64r5900el-ps2-elf-windres... no
checking for mips64r5900el-ps2-elf-windmc... no
checking where to find the target ar... pre-installed
checking where to find the target as... pre-installed
checking where to find the target cc... pre-installed
checking where to find the target c++... pre-installed
checking where to find the target c++ for libstdc++... pre-installed
checking where to find the target dlltool... pre-installed
checking where to find the target gcc... pre-installed
checking where to find the target gcj... pre-installed
checking where to find the target gfortran... pre-installed
checking where to find the target gccgo... pre-installed
checking where to find the target ld... pre-installed
checking where to find the target lipo... pre-installed
checking where to find the target nm... pre-installed
checking where to find the target objcopy... pre-installed
checking where to find the target objdump... pre-installed
checking where to find the target ranlib... pre-installed
checking where to find the target readelf... pre-installed
checking where to find the target strip... pre-installed
checking where to find the target windres... pre-installed
checking where to find the target windmc... pre-installed
checking whether to enable maintainer-specific portions of Makefiles... no
configure: creating ./config.status
config.status: creating Makefile
Checking multilib configuration for newlib...
mkdir mips64r5900el-ps2-elf
mkdir ./etc
mkdir mips64r5900el-ps2-elf/newlib
Configuring in ./etc
Configuring in mips64r5900el-ps2-elf/newlib
configure: creating cache ./config.cache
checking whether to enable maintainer-specific portions of Makefiles... no
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ../../etc/../install-sh -c -d
checking for gawk... awk
checking whether /Applications/Xcode.app/Contents/Developer/usr/bin/make sets $(MAKE)... yes
configure: creating cache ./config.cache
checking whether /Applications/Xcode.app/Contents/Developer/usr/bin/make supports nested variables... yes
checking build system type... x86_64-apple-darwin22.5.0
checking host system type... checking whether /Applications/Xcode.app/Contents/Developer/usr/bin/make supports nested variables... (cached) yes
mips64r5900el-ps2-elf
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
configure: updating cache ./config.cache
checking for mips64r5900el-ps2-elf-strip... mips64r5900el-ps2-elf-strip
checking for a thread-safe mkdir -p... ../../../newlib/../install-sh -c -d
checking for gawk... awk
checking whether /Applications/Xcode.app/Contents/Developer/usr/bin/make sets $(MAKE)... checking that generated files are newer than configure... yes
checking whether /Applications/Xcode.app/Contents/Developer/usr/bin/make supports nested variables... yes
checking for style of include used by /Applications/Xcode.app/Contents/Developer/usr/bin/make... GNU
checking for mips64r5900el-ps2-elf-gcc... mips64r5900el-ps2-elf-gcc -B/Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/ -isystem /Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/targ-include -isystem /Users/fjtrujy/Projects/newlib/newlib/libc/include
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... done
configure: creating ./config.status
config.status: creating Makefile
checking whether we are cross compiling... yes
checking for suffix of object files... make[2]: Nothing to be done for `all'.
o
checking whether we are using the GNU C compiler... yes
checking whether mips64r5900el-ps2-elf-gcc -B/Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/ -isystem /Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/targ-include -isystem /Users/fjtrujy/Projects/newlib/newlib/libc/include accepts -g... yes
checking for mips64r5900el-ps2-elf-gcc -B/Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/ -isystem /Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/targ-include -isystem /Users/fjtrujy/Projects/newlib/newlib/libc/include option to accept ISO C89... none needed
checking whether mips64r5900el-ps2-elf-gcc -B/Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/ -isystem /Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/targ-include -isystem /Users/fjtrujy/Projects/newlib/newlib/libc/include understands -c and -o together... yes
checking dependency style of mips64r5900el-ps2-elf-gcc -B/Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/ -isystem /Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/targ-include -isystem /Users/fjtrujy/Projects/newlib/newlib/libc/include ... gcc3
checking how to run the C preprocessor... mips64r5900el-ps2-elf-gcc -B/Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/ -isystem /Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/targ-include -isystem /Users/fjtrujy/Projects/newlib/newlib/libc/include -E
checking dependency style of mips64r5900el-ps2-elf-gcc -B/Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/ -isystem /Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/targ-include -isystem /Users/fjtrujy/Projects/newlib/newlib/libc/include ... gcc3
checking for mips64r5900el-ps2-elf-ar... mips64r5900el-ps2-elf-ar
checking the archiver (mips64r5900el-ps2-elf-ar) interface... ar
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether /Applications/Xcode.app/Contents/Developer/usr/bin/make supports nested variables... (cached) yes
checking for mips64r5900el-ps2-elf-ranlib... mips64r5900el-ps2-elf-ranlib
checking for mips64r5900el-ps2-elf-readelf... mips64r5900el-ps2-elf-readelf
checking for long double... yes
checking for build system executable suffix... no
checking for .preinit_array/.init_array/.fini_array support... yes
checking if mips64r5900el-ps2-elf-gcc -B/Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/ -isystem /Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/targ-include -isystem /Users/fjtrujy/Projects/newlib/newlib/libc/include accepts -fno-tree-loop-distribute-patterns with __attribute__ ((__optimize__))... yes
checking for long double... (cached) yes
checking whether long double equals double... yes
configure: updating cache ./config.cache
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating newlib.h
config.status: creating _newlib_version.h
config.status: executing default-1 commands
Adding multilib support to Makefile in ../../../newlib
multidirs=
with_multisubdir=
config.status: executing depfiles commands
/Applications/Xcode.app/Contents/Developer/usr/bin/make "CC_FOR_BUILD=gcc" "CFLAGS=-O2" "CCASFLAGS=-O2" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-O2" "INSTALL=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=-O2" "LIBCFLAGS_FOR_TARGET=-O2" "MAKE=/Applications/Xcode.app/Contents/Developer/usr/bin/make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=/Users/fjtrujy/toolchains/ps2/ps2dev/ee" "infodir=/Users/fjtrujy/toolchains/ps2/ps2dev/ee/share/info" "libdir=/Users/fjtrujy/toolchains/ps2/ps2dev/ee/lib" "prefix=/Users/fjtrujy/toolchains/ps2/ps2dev/ee" "tooldir=/Users/fjtrujy/toolchains/ps2/ps2dev/ee/mips64r5900el-ps2-elf" "top_toollibdir=/Users/fjtrujy/toolchains/ps2/ps2dev/ee/mips64r5900el-ps2-elf/lib" "AR=mips64r5900el-ps2-elf-ar" "AS=mips64r5900el-ps2-elf-as" "CC=mips64r5900el-ps2-elf-gcc -B/Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/ -isystem /Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/targ-include -isystem /Users/fjtrujy/Projects/newlib/newlib/libc/include " "LD=mips64r5900el-ps2-elf-ld" "LIBCFLAGS=-O2" "NM=mips64r5900el-ps2-elf-nm" "PICFLAG=" "RANLIB=mips64r5900el-ps2-elf-ranlib" "DESTDIR=" all-am
GEN stmp-targ-include
../../../newlib/../install-sh -c -d doc
/Applications/Xcode.app/Contents/Developer/usr/bin/make "CC_FOR_BUILD=gcc" "CFLAGS=-O2" "CCASFLAGS=-O2" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-O2" "INSTALL=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=-O2" "LIBCFLAGS_FOR_TARGET=-O2" "MAKE=/Applications/Xcode.app/Contents/Developer/usr/bin/make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=/Users/fjtrujy/toolchains/ps2/ps2dev/ee" "infodir=/Users/fjtrujy/toolchains/ps2/ps2dev/ee/share/info" "libdir=/Users/fjtrujy/toolchains/ps2/ps2dev/ee/lib" "prefix=/Users/fjtrujy/toolchains/ps2/ps2dev/ee" "tooldir=/Users/fjtrujy/toolchains/ps2/ps2dev/ee/mips64r5900el-ps2-elf" "top_toollibdir=/Users/fjtrujy/toolchains/ps2/ps2dev/ee/mips64r5900el-ps2-elf/lib" "AR=mips64r5900el-ps2-elf-ar" "AS=mips64r5900el-ps2-elf-as" "CC=mips64r5900el-ps2-elf-gcc -B/Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/ -isystem /Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/targ-include -isystem /Users/fjtrujy/Projects/newlib/newlib/libc/include " "LD=mips64r5900el-ps2-elf-ld" "LIBCFLAGS=-O2" "NM=mips64r5900el-ps2-elf-nm" "PICFLAG=" "RANLIB=mips64r5900el-ps2-elf-ranlib" "DESTDIR=" DO=all multi-do # /Applications/Xcode.app/Contents/Developer/usr/bin/make
gcc -g -g -O2 -o doc/makedoc.o -c ../../../newlib/doc/makedoc.c
GEN targ-include
GEN targ-include/_newlib_version.h
GEN targ-include/newlib.h
GEN targ-include/bits
GEN targ-include/machine
GEN targ-include/sys
if [ -z "" ]; then \
true; \
else \
rootpre=`${PWDCMD-pwd}`/; export rootpre; \
srcrootpre=`cd ../../../newlib; ${PWDCMD-pwd}`/; export srcrootpre; \
lib=`echo "${rootpre}" | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \
compiler="mips64r5900el-ps2-elf-gcc -B/Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/ -isystem /Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/targ-include -isystem /Users/fjtrujy/Projects/newlib/newlib/libc/include "; \
for i in `${compiler} --print-multi-lib 2>/dev/null`; do \
dir=`echo $i | sed -e 's/;.*$//'`; \
if [ "${dir}" = "." ]; then \
true; \
else \
if [ -d ../${dir}/${lib} ]; then \
flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
if (cd ../${dir}/${lib}; /Applications/Xcode.app/Contents/Developer/usr/bin/make "CC_FOR_BUILD=gcc" "CFLAGS=-O2" "CCASFLAGS=-O2" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-O2" "INSTALL=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=-O2" "LIBCFLAGS_FOR_TARGET=-O2" "MAKE=/Applications/Xcode.app/Contents/Developer/usr/bin/make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=/Users/fjtrujy/toolchains/ps2/ps2dev/ee" "infodir=/Users/fjtrujy/toolchains/ps2/ps2dev/ee/share/info" "libdir=/Users/fjtrujy/toolchains/ps2/ps2dev/ee/lib" "prefix=/Users/fjtrujy/toolchains/ps2/ps2dev/ee" "tooldir=/Users/fjtrujy/toolchains/ps2/ps2dev/ee/mips64r5900el-ps2-elf" "top_toollibdir=/Users/fjtrujy/toolchains/ps2/ps2dev/ee/mips64r5900el-ps2-elf/lib" "AR=mips64r5900el-ps2-elf-ar" "AS=mips64r5900el-ps2-elf-as" "CC=mips64r5900el-ps2-elf-gcc -B/Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/ -isystem /Users/fjtrujy/Projects/newlib/build-mips64r5900el-ps2-elf/mips64r5900el-ps2-elf/newlib/targ-include -isystem /Users/fjtrujy/Projects/newlib/newlib/libc/include " "LD=mips64r5900el-ps2-elf-ld" "LIBCFLAGS=-O2" "NM=mips64r5900el-ps2-elf-nm" "PICFLAG=" "RANLIB=mips64r5900el-ps2-elf-ranlib" "DESTDIR=" \
CFLAGS="-O2 ${flags}" \
CCASFLAGS="-O2 ${flags}" \
FCFLAGS=" ${flags}" \
FFLAGS=" ${flags}" \
ADAFLAGS=" ${flags}" \
prefix="/Users/fjtrujy/toolchains/ps2/ps2dev/ee" \
exec_prefix="/Users/fjtrujy/toolchains/ps2/ps2dev/ee" \
GCJFLAGS=" ${flags}" \
GOCFLAGS="-O2 -g ${flags}" \
CXXFLAGS="-g -O2 ${flags}" \
LIBCFLAGS="-O2 ${flags}" \
LIBCXXFLAGS="-g -O2 -fno-implicit-templates ${flags}" \
LDFLAGS=" ${flags}" \
MULTIFLAGS="${flags}" \
DESTDIR="" \
INSTALL="/usr/bin/install -c" \
INSTALL_DATA="/usr/bin/install -c -m 644" \
INSTALL_PROGRAM="/usr/bin/install -c" \
INSTALL_SCRIPT="/usr/bin/install -c" \
all); then \
true; \
else \
exit 1; \
fi; \
else true; \
fi; \
fi; \
done; \
fi
gcc -g -O2 -o doc/makedoc doc/makedoc.o
make[4]: `targ-include/newlib.h' is up to date.
CC libm/math/libm_a-k_standard.o
CC libm/math/libm_a-k_rem_pio2.o
CC libm/math/libm_a-k_sin.o
CC libm/math/libm_a-k_cos.o
CC libm/math/libm_a-k_tan.o
CC libm/math/libm_a-e_acos.o
CC libm/math/libm_a-e_acosh.o
CC libm/math/libm_a-e_asin.o
CC libm/math/libm_a-e_atan2.o
CC libm/math/libm_a-e_atanh.o
CC libm/math/libm_a-e_cosh.o
CC libm/math/libm_a-e_exp.o
CC libm/math/libm_a-e_fmod.o
CC libm/math/libm_a-e_tgamma.o
CC libm/math/libm_a-e_hypot.o
CC libm/math/libm_a-e_j0.o
CC libm/math/libm_a-e_j1.o
CC libm/math/libm_a-e_jn.o
CC libm/math/libm_a-er_lgamma.o
CC libm/math/libm_a-e_log.o
CC libm/math/libm_a-e_log10.o
CC libm/math/libm_a-e_pow.o
CC libm/math/libm_a-e_rem_pio2.o
CC libm/math/libm_a-e_remainder.o
CC libm/math/libm_a-e_scalb.o
CC libm/math/libm_a-e_sinh.o
CC libm/math/libm_a-e_sqrt.o
CC libm/math/libm_a-w_acos.o
CC libm/math/libm_a-w_acosh.o
CC libm/math/libm_a-w_asin.o
CC libm/math/libm_a-w_atan2.o
CC libm/math/libm_a-w_atanh.o
CC libm/math/libm_a-w_cosh.o
CC libm/math/libm_a-w_exp.o
CC libm/math/libm_a-w_fmod.o
CC libm/math/libm_a-w_gamma.o
CC libm/math/libm_a-wr_gamma.o
CC libm/math/libm_a-w_hypot.o
CC libm/math/libm_a-w_j0.o
CC libm/math/libm_a-w_j1.o
CC libm/math/libm_a-w_jn.o
CC libm/math/libm_a-w_lgamma.o
CC libm/math/libm_a-wr_lgamma.o
CC libm/math/libm_a-w_log.o
CC libm/math/libm_a-w_log10.o
CC libm/math/libm_a-w_pow.o
CC libm/math/libm_a-w_remainder.o
CC libm/math/libm_a-w_scalb.o
CC libm/math/libm_a-w_sinh.o
CC libm/math/libm_a-w_sqrt.o
CC libm/math/libm_a-w_sincos.o
CC libm/math/libm_a-w_drem.o
CC libm/math/libm_a-s_asinh.o
CC libm/math/libm_a-s_atan.o
CC libm/math/libm_a-s_ceil.o
CC libm/math/libm_a-s_cos.o
CC libm/math/libm_a-s_erf.o
CC libm/math/libm_a-s_fabs.o
CC libm/math/libm_a-s_floor.o
CC libm/math/libm_a-s_frexp.o
CC libm/math/libm_a-s_ldexp.o
CC libm/math/libm_a-s_signif.o
CC libm/math/libm_a-s_sin.o
CC libm/math/libm_a-s_tan.o
CC libm/math/libm_a-s_tanh.o
CC libm/math/libm_a-w_exp2.o
CC libm/math/libm_a-w_tgamma.o
CC libm/math/libm_a-kf_rem_pio2.o
CC libm/math/libm_a-kf_cos.o
CC libm/math/libm_a-kf_sin.o
CC libm/math/libm_a-kf_tan.o
CC libm/math/libm_a-ef_acos.o
CC libm/math/libm_a-ef_acosh.o
CC libm/math/libm_a-ef_asin.o
CC libm/math/libm_a-ef_atan2.o
CC libm/math/libm_a-ef_atanh.o
CC libm/math/libm_a-ef_cosh.o
CC libm/math/libm_a-ef_exp.o
CC libm/math/libm_a-ef_fmod.o
CC libm/math/libm_a-ef_tgamma.o
CC libm/math/libm_a-ef_hypot.o
CC libm/math/libm_a-ef_j0.o
CC libm/math/libm_a-ef_j1.o
CC libm/math/libm_a-ef_jn.o
CC libm/math/libm_a-erf_lgamma.o
CC libm/math/libm_a-ef_log.o
CC libm/math/libm_a-ef_log10.o
CC libm/math/libm_a-ef_pow.o
CC libm/math/libm_a-ef_rem_pio2.o
CC libm/math/libm_a-ef_remainder.o
CC libm/math/libm_a-ef_scalb.o
CC libm/math/libm_a-ef_sinh.o
CC libm/math/libm_a-ef_sqrt.o
CC libm/math/libm_a-wf_acos.o
CC libm/math/libm_a-wf_acosh.o
CC libm/math/libm_a-wf_asin.o
CC libm/math/libm_a-wf_atan2.o
CC libm/math/libm_a-wf_atanh.o
CC libm/math/libm_a-wf_cosh.o
CC libm/math/libm_a-wf_exp.o
CC libm/math/libm_a-wf_fmod.o
CC libm/math/libm_a-wf_gamma.o
CC libm/math/libm_a-wrf_gamma.o
CC libm/math/libm_a-wf_hypot.o
CC libm/math/libm_a-wf_j0.o
CC libm/math/libm_a-wf_j1.o
CC libm/math/libm_a-wf_jn.o
CC libm/math/libm_a-wf_lgamma.o
CC libm/math/libm_a-wrf_lgamma.o
CC libm/math/libm_a-wf_log.o
CC libm/math/libm_a-wf_log10.o
CC libm/math/libm_a-wf_pow.o
CC libm/math/libm_a-wf_remainder.o
CC libm/math/libm_a-wf_scalb.o
CC libm/math/libm_a-wf_sinh.o
CC libm/math/libm_a-wf_sqrt.o
CC libm/math/libm_a-wf_sincos.o
CC libm/math/libm_a-wf_drem.o
CC libm/math/libm_a-sf_asinh.o
CC libm/math/libm_a-sf_atan.o
CC libm/math/libm_a-sf_ceil.o
CC libm/math/libm_a-sf_cos.o
CC libm/math/libm_a-sf_erf.o
CC libm/math/libm_a-sf_fabs.o
CC libm/math/libm_a-sf_floor.o
CC libm/math/libm_a-sf_frexp.o
CC libm/math/libm_a-sf_ldexp.o
CC libm/math/libm_a-sf_signif.o
CC libm/math/libm_a-sf_sin.o
CC libm/math/libm_a-sf_tan.o
CC libm/math/libm_a-sf_tanh.o
CC libm/math/libm_a-wf_exp2.o
CC libm/math/libm_a-wf_tgamma.o
CC libm/math/libm_a-wf_log2.o
CC libm/math/libm_a-el_hypot.o
CC libm/common/libm_a-s_finite.o
CC libm/common/libm_a-s_copysign.o
CC libm/common/libm_a-s_modf.o
CC libm/common/libm_a-s_scalbn.o
CC libm/common/libm_a-s_cbrt.o
CC libm/common/libm_a-s_exp10.o
CC libm/common/libm_a-s_expm1.o
CC libm/common/libm_a-s_ilogb.o
CC libm/common/libm_a-s_isinf.o
CC libm/common/libm_a-s_infinity.o
CC libm/common/libm_a-s_isinfd.o
CC libm/common/libm_a-s_isnan.o
CC libm/common/libm_a-s_isnand.o
CC libm/common/libm_a-s_log1p.o
CC libm/common/libm_a-s_nan.o
CC libm/common/libm_a-s_nextafter.o
CC libm/common/libm_a-s_pow10.o
CC libm/common/libm_a-s_rint.o
CC libm/common/libm_a-s_logb.o
CC libm/common/libm_a-s_log2.o
CC libm/common/libm_a-s_fdim.o
CC libm/common/libm_a-s_fma.o
CC libm/common/libm_a-s_fmax.o
CC libm/common/libm_a-s_fmin.o
CC libm/common/libm_a-s_fpclassify.o
CC libm/common/libm_a-s_lrint.o
CC libm/common/libm_a-s_llrint.o
CC libm/common/libm_a-s_lround.o
CC libm/common/libm_a-s_llround.o
CC libm/common/libm_a-s_nearbyint.o
CC libm/common/libm_a-s_remquo.o
CC libm/common/libm_a-s_round.o
CC libm/common/libm_a-s_scalbln.o
CC libm/common/libm_a-s_signbit.o
CC libm/common/libm_a-s_trunc.o
CC libm/common/libm_a-exp.o
CC libm/common/libm_a-exp2.o
CC libm/common/libm_a-exp_data.o
CC libm/common/libm_a-math_err.o
CC libm/common/libm_a-log.o
CC libm/common/libm_a-log_data.o
CC libm/common/libm_a-log2.o
CC libm/common/libm_a-log2_data.o
CC libm/common/libm_a-pow.o
CC libm/common/libm_a-pow_log_data.o
CC libm/common/libm_a-sf_finite.o
CC libm/common/libm_a-sf_copysign.o
CC libm/common/libm_a-sf_modf.o
CC libm/common/libm_a-sf_scalbn.o
CC libm/common/libm_a-sf_cbrt.o
CC libm/common/libm_a-sf_exp10.o
CC libm/common/libm_a-sf_expm1.o
CC libm/common/libm_a-sf_ilogb.o
CC libm/common/libm_a-sf_infinity.o
CC libm/common/libm_a-sf_isinf.o
CC libm/common/libm_a-sf_isinff.o
CC libm/common/libm_a-sf_isnan.o
CC libm/common/libm_a-sf_isnanf.o
CC libm/common/libm_a-sf_log1p.o
CC libm/common/libm_a-sf_nan.o
CC libm/common/libm_a-sf_nextafter.o
CC libm/common/libm_a-sf_pow10.o
CC libm/common/libm_a-sf_rint.o
CC libm/common/libm_a-sf_logb.o
CC libm/common/libm_a-sf_fdim.o
CC libm/common/libm_a-sf_fma.o
CC libm/common/libm_a-sf_fmax.o
CC libm/common/libm_a-sf_fmin.o
CC libm/common/libm_a-sf_fpclassify.o
CC libm/common/libm_a-sf_lrint.o
CC libm/common/libm_a-sf_llrint.o
CC libm/common/libm_a-sf_lround.o
CC libm/common/libm_a-sf_llround.o
CC libm/common/libm_a-sf_nearbyint.o
CC libm/common/libm_a-sf_remquo.o
CC libm/common/libm_a-sf_round.o
CC libm/common/libm_a-sf_scalbln.o
CC libm/common/libm_a-sf_trunc.o
CC libm/common/libm_a-sf_exp.o
CC libm/common/libm_a-sf_exp2.o
CC libm/common/libm_a-sf_exp2_data.o
CC libm/common/libm_a-sf_log.o
CC libm/common/libm_a-sf_log_data.o
CC libm/common/libm_a-sf_log2.o
CC libm/common/libm_a-sf_log2_data.o
CC libm/common/libm_a-sf_pow_log2_data.o
CC libm/common/libm_a-sf_pow.o
CC libm/common/libm_a-sinf.o
CC libm/common/libm_a-cosf.o
CC libm/common/libm_a-sincosf.o
CC libm/common/libm_a-sincosf_data.o
CC libm/common/libm_a-math_errf.o
CC libm/common/libm_a-atanl.o
CC libm/common/libm_a-cosl.o
CC libm/common/libm_a-sinl.o
CC libm/common/libm_a-tanl.o
CC libm/common/libm_a-tanhl.o
CC libm/common/libm_a-frexpl.o
CC libm/common/libm_a-modfl.o
CC libm/common/libm_a-ceill.o
CC libm/common/libm_a-fabsl.o
CC libm/common/libm_a-floorl.o
CC libm/common/libm_a-log1pl.o
CC libm/common/libm_a-expm1l.o
CC libm/common/libm_a-acosl.o
CC libm/common/libm_a-asinl.o
CC libm/common/libm_a-atan2l.o
CC libm/common/libm_a-coshl.o
CC libm/common/libm_a-sinhl.o
CC libm/common/libm_a-expl.o
CC libm/common/libm_a-ldexpl.o
CC libm/common/libm_a-logl.o
CC libm/common/libm_a-log10l.o
CC libm/common/libm_a-powl.o
CC libm/common/libm_a-sqrtl.o
CC libm/common/libm_a-fmodl.o
CC libm/common/libm_a-hypotl.o
CC libm/common/libm_a-nanl.o
CC libm/common/libm_a-copysignl.o
CC libm/common/libm_a-ilogbl.o
CC libm/common/libm_a-cbrtl.o
CC libm/common/libm_a-asinhl.o
CC libm/common/libm_a-nextafterl.o
CC libm/common/libm_a-rintl.o
CC libm/common/libm_a-scalbnl.o
CC libm/common/libm_a-exp2l.o
CC libm/common/libm_a-scalblnl.o
CC libm/common/libm_a-tgammal.o
CC libm/common/libm_a-nearbyintl.o
CC libm/common/libm_a-lrintl.o
CC libm/common/libm_a-llrintl.o
CC libm/common/libm_a-roundl.o
CC libm/common/libm_a-lroundl.o
CC libm/common/libm_a-llroundl.o
CC libm/common/libm_a-truncl.o
CC libm/common/libm_a-remquol.o
CC libm/common/libm_a-fdiml.o
CC libm/common/libm_a-fmaxl.o
CC libm/common/libm_a-fminl.o
CC libm/common/libm_a-fmal.o
CC libm/common/libm_a-acoshl.o
CC libm/common/libm_a-atanhl.o
CC libm/common/libm_a-remainderl.o
CC libm/common/libm_a-lgammal.o
CC libm/common/libm_a-erfl.o
CC libm/common/libm_a-erfcl.o
CC libm/common/libm_a-logbl.o
CC libm/common/libm_a-nexttowardf.o
CC libm/common/libm_a-nexttoward.o
CC libm/common/libm_a-nexttowardl.o
CC libm/common/libm_a-log2l.o
CC libm/common/libm_a-sl_finite.o
CC libm/complex/libm_a-cabs.o
CC libm/complex/libm_a-cacos.o
CC libm/complex/libm_a-cacosh.o
CC libm/complex/libm_a-carg.o
CC libm/complex/libm_a-casin.o
CC libm/complex/libm_a-casinh.o
CC libm/complex/libm_a-catan.o
CC libm/complex/libm_a-catanh.o
CC libm/complex/libm_a-ccos.o
CC libm/complex/libm_a-ccosh.o
CC libm/complex/libm_a-cephes_subr.o
CC libm/complex/libm_a-cexp.o
CC libm/complex/libm_a-cimag.o
CC libm/complex/libm_a-clog.o
CC libm/complex/libm_a-clog10.o
CC libm/complex/libm_a-conj.o
CC libm/complex/libm_a-cpow.o
CC libm/complex/libm_a-cproj.o
CC libm/complex/libm_a-creal.o
CC libm/complex/libm_a-csin.o
CC libm/complex/libm_a-csinh.o
CC libm/complex/libm_a-csqrt.o
CC libm/complex/libm_a-ctan.o
CC libm/complex/libm_a-ctanh.o
CC libm/complex/libm_a-cabsf.o
CC libm/complex/libm_a-casinf.o
CC libm/complex/libm_a-ccosf.o
CC libm/complex/libm_a-cimagf.o
CC libm/complex/libm_a-cprojf.o
CC libm/complex/libm_a-csqrtf.o
CC libm/complex/libm_a-cacosf.o
CC libm/complex/libm_a-casinhf.o
CC libm/complex/libm_a-ccoshf.o
CC libm/complex/libm_a-clogf.o
CC libm/complex/libm_a-clog10f.o
CC libm/complex/libm_a-crealf.o
CC libm/complex/libm_a-ctanf.o
CC libm/complex/libm_a-cacoshf.o
CC libm/complex/libm_a-catanf.o
CC libm/complex/libm_a-cephes_subrf.o
CC libm/complex/libm_a-conjf.o
CC libm/complex/libm_a-csinf.o
CC libm/complex/libm_a-ctanhf.o
CC libm/complex/libm_a-cargf.o
CC libm/complex/libm_a-catanhf.o
CC libm/complex/libm_a-cexpf.o
CC libm/complex/libm_a-cpowf.o
CC libm/complex/libm_a-csinhf.o
CC libm/complex/libm_a-cabsl.o
CC libm/complex/libm_a-creall.o
CC libm/complex/libm_a-cimagl.o
CC libm/complex/libm_a-ccoshl.o
CC libm/complex/libm_a-cacoshl.o
CC libm/complex/libm_a-clogl.o
CC libm/complex/libm_a-csqrtl.o
CC libm/complex/libm_a-cargl.o
CC libm/complex/libm_a-cprojl.o
CC libm/complex/libm_a-cexpl.o
CC libm/complex/libm_a-cephes_subrl.o
CC libm/complex/libm_a-cacosl.o
CC libm/complex/libm_a-ccosl.o
CC libm/complex/libm_a-casinl.o
CC libm/complex/libm_a-catanhl.o
CC libm/complex/libm_a-cpowl.o
CC libm/complex/libm_a-conjl.o
CC libm/complex/libm_a-ctanhl.o
CC libm/complex/libm_a-ctanl.o
CC libm/complex/libm_a-casinhl.o
CC libm/complex/libm_a-csinhl.o
CC libm/complex/libm_a-csinl.o
CC libm/complex/libm_a-catanl.o
CC libm/fenv/libm_a-feclearexcept.o
CC libm/fenv/libm_a-fe_dfl_env.o
CC libm/fenv/libm_a-fegetenv.o
CC libm/fenv/libm_a-fegetexceptflag.o
CC libm/fenv/libm_a-fegetround.o
CC libm/fenv/libm_a-feholdexcept.o
CC libm/fenv/libm_a-feraiseexcept.o
CC libm/fenv/libm_a-fesetenv.o
CC libm/fenv/libm_a-fesetexceptflag.o
CC libm/fenv/libm_a-fesetround.o
CC libm/fenv/libm_a-fetestexcept.o
CC libm/fenv/libm_a-feupdateenv.o
CC libc/argz/libc_a-argz_add.o
CC libc/argz/libc_a-argz_add_sep.o
CC libc/argz/libc_a-argz_append.o
CC libc/argz/libc_a-argz_count.o
CC libc/argz/libc_a-argz_create.o
CC libc/argz/libc_a-argz_create_sep.o
CC libc/argz/libc_a-argz_delete.o
CC libc/argz/libc_a-argz_extract.o
CC libc/argz/libc_a-argz_insert.o
CC libc/argz/libc_a-argz_next.o
CC libc/argz/libc_a-argz_replace.o
CC libc/argz/libc_a-argz_stringify.o
CC libc/argz/libc_a-buf_findstr.o
CC libc/argz/libc_a-envz_entry.o
CC libc/argz/libc_a-envz_get.o
CC libc/argz/libc_a-envz_add.o
CC libc/argz/libc_a-envz_remove.o
CC libc/argz/libc_a-envz_merge.o
CC libc/argz/libc_a-envz_strip.o
CC libc/stdlib/libc_a-__adjust.o
CC libc/stdlib/libc_a-__atexit.o
CC libc/stdlib/libc_a-__call_atexit.o
CC libc/stdlib/libc_a-__exp10.o
CC libc/stdlib/libc_a-__ten_mu.o
CC libc/stdlib/libc_a-_Exit.o
CC libc/stdlib/libc_a-abort.o
CC libc/stdlib/libc_a-abs.o
CC libc/stdlib/libc_a-aligned_alloc.o
CC libc/stdlib/libc_a-assert.o
CC libc/stdlib/libc_a-atexit.o
CC libc/stdlib/libc_a-atof.o
CC libc/stdlib/libc_a-atoff.o
CC libc/stdlib/libc_a-atoi.o
CC libc/stdlib/libc_a-atol.o
CC libc/stdlib/libc_a-calloc.o
CC libc/stdlib/libc_a-callocr.o
CC libc/stdlib/libc_a-cfreer.o
CC libc/stdlib/libc_a-div.o
CC libc/stdlib/libc_a-dtoa.o
CC libc/stdlib/libc_a-dtoastub.o
CC libc/stdlib/libc_a-environ.o
CC libc/stdlib/libc_a-envlock.o
CC libc/stdlib/libc_a-eprintf.o
CC libc/stdlib/libc_a-exit.o
CC libc/stdlib/libc_a-freer.o
CC libc/stdlib/libc_a-gdtoa-gethex.o
CC libc/stdlib/libc_a-gdtoa-hexnan.o
CC libc/stdlib/libc_a-getenv.o
CC libc/stdlib/libc_a-getenv_r.o
CC libc/stdlib/libc_a-imaxabs.o
CC libc/stdlib/libc_a-imaxdiv.o
CC libc/stdlib/libc_a-itoa.o
CC libc/stdlib/libc_a-labs.o
CC libc/stdlib/libc_a-ldiv.o
CC libc/stdlib/libc_a-ldtoa.o
CC libc/stdlib/libc_a-gdtoa-ldtoa.o
CC libc/stdlib/libc_a-gdtoa-gdtoa.o
CC libc/stdlib/libc_a-gdtoa-dmisc.o
CC libc/stdlib/libc_a-gdtoa-gmisc.o
CC libc/stdlib/libc_a-mallinfor.o
CC libc/stdlib/libc_a-malloc.o
CC libc/stdlib/libc_a-mallocr.o
CC libc/stdlib/libc_a-mallstatsr.o
CC libc/stdlib/libc_a-mblen.o
CC libc/stdlib/libc_a-mblen_r.o
CC libc/stdlib/libc_a-mbstowcs.o
CC libc/stdlib/libc_a-mbstowcs_r.o
CC libc/stdlib/libc_a-mbtowc.o
CC libc/stdlib/libc_a-mbtowc_r.o
CC libc/stdlib/libc_a-mlock.o
CC libc/stdlib/libc_a-mprec.o
CC libc/stdlib/libc_a-msizer.o
CC libc/stdlib/libc_a-mstats.o
CC libc/stdlib/libc_a-on_exit_args.o
CC libc/stdlib/libc_a-quick_exit.o
CC libc/stdlib/libc_a-rand.o
CC libc/stdlib/libc_a-rand_r.o
CC libc/stdlib/libc_a-random.o
CC libc/stdlib/libc_a-realloc.o
CC libc/stdlib/libc_a-reallocarray.o
CC libc/stdlib/libc_a-reallocf.o
CC libc/stdlib/libc_a-reallocr.o
CC libc/stdlib/libc_a-sb_charsets.o
CC libc/stdlib/libc_a-strtod.o
CC libc/stdlib/libc_a-strtoimax.o
CC libc/stdlib/libc_a-strtol.o
CC libc/stdlib/libc_a-strtoul.o
CC libc/stdlib/libc_a-strtoumax.o
CC libc/stdlib/libc_a-utoa.o
CC libc/stdlib/libc_a-wcstod.o
CC libc/stdlib/libc_a-wcstoimax.o
CC libc/stdlib/libc_a-wcstol.o
CC libc/stdlib/libc_a-wcstoul.o
CC libc/stdlib/libc_a-wcstoumax.o
CC libc/stdlib/libc_a-wcstombs.o
CC libc/stdlib/libc_a-wcstombs_r.o
CC libc/stdlib/libc_a-wctomb.o
CC libc/stdlib/libc_a-wctomb_r.o
CC libc/stdlib/libc_a-strtodg.o
CC libc/stdlib/libc_a-strtold.o
CC libc/stdlib/libc_a-strtorx.o
CC libc/stdlib/libc_a-wcstold.o
CC libc/stdlib/libc_a-arc4random.o
CC libc/stdlib/libc_a-arc4random_uniform.o
CC libc/stdlib/libc_a-cxa_atexit.o
CC libc/stdlib/libc_a-cxa_finalize.o
CC libc/stdlib/libc_a-drand48.o
CC libc/stdlib/libc_a-ecvtbuf.o
CC libc/stdlib/libc_a-efgcvt.o
CC libc/stdlib/libc_a-erand48.o
CC libc/stdlib/libc_a-jrand48.o
CC libc/stdlib/libc_a-lcong48.o
CC libc/stdlib/libc_a-lrand48.o
CC libc/stdlib/libc_a-mrand48.o
CC libc/stdlib/libc_a-msize.o
CC libc/stdlib/libc_a-mtrim.o
CC libc/stdlib/libc_a-nrand48.o
CC libc/stdlib/libc_a-rand48.o
CC libc/stdlib/libc_a-seed48.o
CC libc/stdlib/libc_a-srand48.o
CC libc/stdlib/libc_a-strtoll.o
CC libc/stdlib/libc_a-strtoll_r.o
CC libc/stdlib/libc_a-strtoull.o
CC libc/stdlib/libc_a-strtoull_r.o
CC libc/stdlib/libc_a-wcstoll.o
CC libc/stdlib/libc_a-wcstoll_r.o
CC libc/stdlib/libc_a-wcstoull.o
CC libc/stdlib/libc_a-wcstoull_r.o
CC libc/stdlib/libc_a-atoll.o
CC libc/stdlib/libc_a-llabs.o
CC libc/stdlib/libc_a-lldiv.o
CC libc/stdlib/libc_a-a64l.o
CC libc/stdlib/libc_a-btowc.o
CC libc/stdlib/libc_a-getopt.o
CC libc/stdlib/libc_a-getsubopt.o
CC libc/stdlib/libc_a-l64a.o
CC libc/stdlib/libc_a-malign.o
CC libc/stdlib/libc_a-malignr.o
CC libc/stdlib/libc_a-malloptr.o
CC libc/stdlib/libc_a-mbrlen.o
CC libc/stdlib/libc_a-mbrtowc.o
CC libc/stdlib/libc_a-mbsinit.o
CC libc/stdlib/libc_a-mbsnrtowcs.o
CC libc/stdlib/libc_a-mbsrtowcs.o
CC libc/stdlib/libc_a-on_exit.o
CC libc/stdlib/libc_a-pvallocr.o
CC libc/stdlib/libc_a-valloc.o
CC libc/stdlib/libc_a-vallocr.o
CC libc/stdlib/libc_a-wcrtomb.o
CC libc/stdlib/libc_a-wcsnrtombs.o
CC libc/stdlib/libc_a-wcsrtombs.o
CC libc/stdlib/libc_a-wctob.o
CC libc/stdlib/libc_a-putenv.o
CC libc/stdlib/libc_a-putenv_r.o
CC libc/stdlib/libc_a-setenv.o
CC libc/stdlib/libc_a-setenv_r.o
CC libc/stdlib/libc_a-rpmatch.o
CC libc/stdlib/libc_a-system.o
CC libc/ctype/libc_a-ctype_.o
CC libc/ctype/libc_a-isalnum.o
CC libc/ctype/libc_a-isalpha.o
CC libc/ctype/libc_a-iscntrl.o
CC libc/ctype/libc_a-isdigit.o
CC libc/ctype/libc_a-islower.o
CC libc/ctype/libc_a-isupper.o
CC libc/ctype/libc_a-isprint.o
CC libc/ctype/libc_a-ispunct.o
CC libc/ctype/libc_a-isspace.o
CC libc/ctype/libc_a-isxdigit.o
CC libc/ctype/libc_a-tolower.o
CC libc/ctype/libc_a-toupper.o
CC libc/ctype/libc_a-categories.o
CC libc/ctype/libc_a-isalnum_l.o
CC libc/ctype/libc_a-isalpha_l.o
CC libc/ctype/libc_a-isascii.o
CC libc/ctype/libc_a-isascii_l.o
CC libc/ctype/libc_a-isblank_l.o
CC libc/ctype/libc_a-isblank.o
CC libc/ctype/libc_a-iscntrl_l.o
CC libc/ctype/libc_a-isdigit_l.o
CC libc/ctype/libc_a-islower_l.o
CC libc/ctype/libc_a-isupper_l.o
CC libc/ctype/libc_a-isprint_l.o
CC libc/ctype/libc_a-ispunct_l.o
CC libc/ctype/libc_a-isspace_l.o
CC libc/ctype/libc_a-iswalnum.o
CC libc/ctype/libc_a-iswalnum_l.o
CC libc/ctype/libc_a-iswalpha.o
CC libc/ctype/libc_a-iswalpha_l.o
CC libc/ctype/libc_a-iswblank.o
CC libc/ctype/libc_a-iswblank_l.o
CC libc/ctype/libc_a-iswcntrl.o
CC libc/ctype/libc_a-iswcntrl_l.o
CC libc/ctype/libc_a-iswctype.o
CC libc/ctype/libc_a-iswctype_l.o
CC libc/ctype/libc_a-iswdigit.o
CC libc/ctype/libc_a-iswdigit_l.o
CC libc/ctype/libc_a-iswgraph.o
CC libc/ctype/libc_a-iswgraph_l.o
CC libc/ctype/libc_a-iswlower.o
CC libc/ctype/libc_a-iswlower_l.o
CC libc/ctype/libc_a-iswprint.o
CC libc/ctype/libc_a-iswprint_l.o
CC libc/ctype/libc_a-iswpunct.o
CC libc/ctype/libc_a-iswpunct_l.o
CC libc/ctype/libc_a-iswspace.o
CC libc/ctype/libc_a-iswspace_l.o
CC libc/ctype/libc_a-iswupper.o
CC libc/ctype/libc_a-iswupper_l.o
CC libc/ctype/libc_a-iswxdigit.o
CC libc/ctype/libc_a-iswxdigit_l.o
CC libc/ctype/libc_a-isxdigit_l.o
CC libc/ctype/libc_a-jp2uc.o
CC libc/ctype/libc_a-toascii.o
CC libc/ctype/libc_a-toascii_l.o
CC libc/ctype/libc_a-tolower_l.o
CC libc/ctype/libc_a-toupper_l.o
CC libc/ctype/libc_a-towctrans.o
CC libc/ctype/libc_a-towctrans_l.o
CC libc/ctype/libc_a-towlower.o
CC libc/ctype/libc_a-towlower_l.o
CC libc/ctype/libc_a-towupper.o
CC libc/ctype/libc_a-towupper_l.o
CC libc/ctype/libc_a-wctrans.o
CC libc/ctype/libc_a-wctrans_l.o
CC libc/ctype/libc_a-wctype.o
CC libc/ctype/libc_a-wctype_l.o
CC libc/search/libc_a-bsearch.o
CC libc/search/libc_a-ndbm.o
CC libc/search/libc_a-qsort.o
CC libc/search/libc_a-hash.o
CC libc/search/libc_a-hash_bigkey.o
CC libc/search/libc_a-hash_buf.o
CC libc/search/libc_a-hash_func.o
CC libc/search/libc_a-hash_log2.o
CC libc/search/libc_a-hash_page.o
CC libc/search/libc_a-hcreate.o
CC libc/search/libc_a-hcreate_r.o
CC libc/search/libc_a-tdelete.o
CC libc/search/libc_a-tdestroy.o
CC libc/search/libc_a-tfind.o
CC libc/search/libc_a-tsearch.o
CC libc/search/libc_a-twalk.o
CC libc/search/libc_a-bsd_qsort_r.o
CC libc/search/libc_a-qsort_r.o
CC libc/stdio/libc_a-fiprintf.o
CC libc/stdio/libc_a-fiscanf.o
CC libc/stdio/libc_a-iprintf.o
CC libc/stdio/libc_a-iscanf.o
CC libc/stdio/libc_a-siprintf.o
CC libc/stdio/libc_a-siscanf.o
CC libc/stdio/libc_a-sniprintf.o
CC libc/stdio/libc_a-svfiprintf.o
CC libc/stdio/libc_a-svfiscanf.o
CC libc/stdio/libc_a-svfprintf.o
CC libc/stdio/libc_a-svfscanf.o
CC libc/stdio/libc_a-vdiprintf.o
CC libc/stdio/libc_a-vfprintf.o
CC libc/stdio/libc_a-vfiprintf.o
CC libc/stdio/libc_a-vfiscanf.o
CC libc/stdio/libc_a-vfscanf.o
CC libc/stdio/libc_a-vfwprintf.o
CC libc/stdio/libc_a-viprintf.o
CC libc/stdio/libc_a-viscanf.o
CC libc/stdio/libc_a-vsiprintf.o
CC libc/stdio/libc_a-vsiscanf.o
CC libc/stdio/libc_a-vsniprintf.o
CC libc/stdio/libc_a-clearerr.o
CC libc/stdio/libc_a-fclose.o
CC libc/stdio/libc_a-fdopen.o
CC libc/stdio/libc_a-feof.o
CC libc/stdio/libc_a-ferror.o
CC libc/stdio/libc_a-fflush.o
CC libc/stdio/libc_a-fgetc.o
CC libc/stdio/libc_a-fgetpos.o
CC libc/stdio/libc_a-fgets.o
CC libc/stdio/libc_a-fileno.o
CC libc/stdio/libc_a-findfp.o
CC libc/stdio/libc_a-flags.o
CC libc/stdio/libc_a-fopen.o
CC libc/stdio/libc_a-fprintf.o
CC libc/stdio/libc_a-fputc.o
CC libc/stdio/libc_a-fputs.o
CC libc/stdio/libc_a-fread.o
CC libc/stdio/libc_a-freopen.o
CC libc/stdio/libc_a-fscanf.o
CC libc/stdio/libc_a-fseek.o
CC libc/stdio/libc_a-fsetpos.o
CC libc/stdio/libc_a-ftell.o
CC libc/stdio/libc_a-fvwrite.o
CC libc/stdio/libc_a-fwalk.o
CC libc/stdio/libc_a-fwrite.o
CC libc/stdio/libc_a-getc.o
CC libc/stdio/libc_a-getchar.o
CC libc/stdio/libc_a-getc_u.o
CC libc/stdio/libc_a-getchar_u.o
CC libc/stdio/libc_a-getdelim.o
CC libc/stdio/libc_a-getline.o
CC libc/stdio/libc_a-gets.o
CC libc/stdio/libc_a-makebuf.o
CC libc/stdio/libc_a-perror.o
CC libc/stdio/libc_a-printf.o
CC libc/stdio/libc_a-putc.o
CC libc/stdio/libc_a-putchar.o
CC libc/stdio/libc_a-putc_u.o
CC libc/stdio/libc_a-putchar_u.o
CC libc/stdio/libc_a-puts.o
CC libc/stdio/libc_a-refill.o
CC libc/stdio/libc_a-remove.o
CC libc/stdio/libc_a-rename.o
CC libc/stdio/libc_a-rewind.o
CC libc/stdio/libc_a-rget.o
CC libc/stdio/libc_a-scanf.o
CC libc/stdio/libc_a-sccl.o
CC libc/stdio/libc_a-setbuf.o
CC libc/stdio/libc_a-setbuffer.o
CC libc/stdio/libc_a-setlinebuf.o
CC libc/stdio/libc_a-setvbuf.o
CC libc/stdio/libc_a-snprintf.o
CC libc/stdio/libc_a-sprintf.o
CC libc/stdio/libc_a-sscanf.o
CC libc/stdio/libc_a-stdio.o
CC libc/stdio/libc_a-svfiwprintf.o
CC libc/stdio/libc_a-svfiwscanf.o
CC libc/stdio/libc_a-svfwprintf.o
CC libc/stdio/libc_a-svfwscanf.o
CC libc/stdio/libc_a-tmpfile.o
CC libc/stdio/libc_a-tmpnam.o
CC libc/stdio/libc_a-ungetc.o
CC libc/stdio/libc_a-vdprintf.o
CC libc/stdio/libc_a-vfiwprintf.o
CC libc/stdio/libc_a-vfiwscanf.o
CC libc/stdio/libc_a-vfwscanf.o
CC libc/stdio/libc_a-vprintf.o
CC libc/stdio/libc_a-vscanf.o
CC libc/stdio/libc_a-vsnprintf.o
CC libc/stdio/libc_a-vsprintf.o
CC libc/stdio/libc_a-vsscanf.o
CC libc/stdio/libc_a-wbuf.o
CC libc/stdio/libc_a-wsetup.o
CC libc/stdio/libc_a-asprintf.o
CC libc/stdio/libc_a-fcloseall.o
CC libc/stdio/libc_a-fseeko.o
CC libc/stdio/libc_a-ftello.o
CC libc/stdio/libc_a-getw.o
CC libc/stdio/libc_a-mktemp.o
CC libc/stdio/libc_a-putw.o
CC libc/stdio/libc_a-vasprintf.o
CC libc/stdio/libc_a-asiprintf.o
CC libc/stdio/libc_a-vasiprintf.o
CC libc/stdio/libc_a-asnprintf.o
CC libc/stdio/libc_a-clearerr_u.o
CC libc/stdio/libc_a-dprintf.o
CC libc/stdio/libc_a-feof_u.o
CC libc/stdio/libc_a-ferror_u.o
CC libc/stdio/libc_a-fflush_u.o
CC libc/stdio/libc_a-fgetc_u.o
CC libc/stdio/libc_a-fgets_u.o
CC libc/stdio/libc_a-fgetwc.o
CC libc/stdio/libc_a-fgetwc_u.o
CC libc/stdio/libc_a-fgetws.o
CC libc/stdio/libc_a-fgetws_u.o
CC libc/stdio/libc_a-fileno_u.o
CC libc/stdio/libc_a-fmemopen.o
CC libc/stdio/libc_a-fopencookie.o
CC libc/stdio/libc_a-fpurge.o
CC libc/stdio/libc_a-fputc_u.o
CC libc/stdio/libc_a-fputs_u.o
CC libc/stdio/libc_a-fputwc.o
CC libc/stdio/libc_a-fputwc_u.o
CC libc/stdio/libc_a-fputws.o
CC libc/stdio/libc_a-fputws_u.o
CC libc/stdio/libc_a-fread_u.o
CC libc/stdio/libc_a-fsetlocking.o
CC libc/stdio/libc_a-funopen.o
CC libc/stdio/libc_a-fwide.o
CC libc/stdio/libc_a-fwprintf.o
CC libc/stdio/libc_a-fwrite_u.o
CC libc/stdio/libc_a-fwscanf.o
CC libc/stdio/libc_a-getwc.o
CC libc/stdio/libc_a-getwc_u.o
CC libc/stdio/libc_a-getwchar.o
CC libc/stdio/libc_a-getwchar_u.o
CC libc/stdio/libc_a-open_memstream.o
CC libc/stdio/libc_a-putwc.o
CC libc/stdio/libc_a-putwc_u.o
CC libc/stdio/libc_a-putwchar.o
CC libc/stdio/libc_a-putwchar_u.o
CC libc/stdio/libc_a-stdio_ext.o
CC libc/stdio/libc_a-swprintf.o
CC libc/stdio/libc_a-swscanf.o
CC libc/stdio/libc_a-ungetwc.o
CC libc/stdio/libc_a-vasnprintf.o
CC libc/stdio/libc_a-vswprintf.o
CC libc/stdio/libc_a-vswscanf.o
CC libc/stdio/libc_a-vwprintf.o
CC libc/stdio/libc_a-vwscanf.o
CC libc/stdio/libc_a-wprintf.o
CC libc/stdio/libc_a-wscanf.o
CC libc/stdio/libc_a-asniprintf.o
CC libc/stdio/libc_a-diprintf.o
CC libc/stdio/libc_a-vasniprintf.o
CC libc/string/libc_a-bcopy.o
CC libc/string/libc_a-bzero.o
CC libc/string/libc_a-explicit_bzero.o
CC libc/string/libc_a-ffsl.o
CC libc/string/libc_a-ffsll.o
CC libc/string/libc_a-fls.o
CC libc/string/libc_a-flsl.o
CC libc/string/libc_a-flsll.o
CC libc/string/libc_a-index.o
CC libc/string/libc_a-memchr.o
CC libc/string/libc_a-memcmp.o
CC libc/string/libc_a-memcpy.o
CC libc/string/libc_a-memmove.o
CC libc/string/libc_a-memset.o
CC libc/string/libc_a-rindex.o
CC libc/string/libc_a-strcasecmp.o
CC libc/string/libc_a-strcat.o
CC libc/string/libc_a-strchr.o
CC libc/string/libc_a-strcmp.o
CC libc/string/libc_a-strcoll.o
CC libc/string/libc_a-strcpy.o
CC libc/string/libc_a-strcspn.o
CC libc/string/libc_a-strdup.o
CC libc/string/libc_a-strdup_r.o
CC libc/string/libc_a-strerror.o
CC libc/string/libc_a-strerror_r.o
CC libc/string/libc_a-strlcat.o
CC libc/string/libc_a-strlcpy.o
CC libc/string/libc_a-strlen.o
CC libc/string/libc_a-strlwr.o
CC libc/string/libc_a-strncasecmp.o
CC libc/string/libc_a-strncat.o
CC libc/string/libc_a-strncmp.o
CC libc/string/libc_a-strncpy.o
CC libc/string/libc_a-strnlen.o
CC libc/string/libc_a-strnstr.o
CC libc/string/libc_a-strpbrk.o
CC libc/string/libc_a-strrchr.o
CC libc/string/libc_a-strsep.o
CC libc/string/libc_a-strsignal.o
CC libc/string/libc_a-strspn.o
CC libc/string/libc_a-strtok.o
CC libc/string/libc_a-strtok_r.o
CC libc/string/libc_a-strupr.o
CC libc/string/libc_a-strxfrm.o
CC libc/string/libc_a-strstr.o
CC libc/string/libc_a-swab.o
CC libc/string/libc_a-timingsafe_bcmp.o
CC libc/string/libc_a-timingsafe_memcmp.o
CC libc/string/libc_a-u_strerr.o
CC libc/string/libc_a-wcscat.o
CC libc/string/libc_a-wcschr.o
CC libc/string/libc_a-wcscmp.o
CC libc/string/libc_a-wcscoll.o
CC libc/string/libc_a-wcscpy.o
CC libc/string/libc_a-wcscspn.o
CC libc/string/libc_a-wcslcat.o
CC libc/string/libc_a-wcslcpy.o
CC libc/string/libc_a-wcslen.o
CC libc/string/libc_a-wcsncat.o
CC libc/string/libc_a-wcsncmp.o
CC libc/string/libc_a-wcsncpy.o
CC libc/string/libc_a-wcsnlen.o
CC libc/string/libc_a-wcspbrk.o
CC libc/string/libc_a-wcsrchr.o
CC libc/string/libc_a-wcsspn.o
CC libc/string/libc_a-wcsstr.o
CC libc/string/libc_a-wcstok.o
CC libc/string/libc_a-wcswidth.o
CC libc/string/libc_a-wcsxfrm.o
CC libc/string/libc_a-wcwidth.o
CC libc/string/libc_a-wmemchr.o
CC libc/string/libc_a-wmemcmp.o
CC libc/string/libc_a-wmemcpy.o
CC libc/string/libc_a-wmemmove.o
CC libc/string/libc_a-wmemset.o
CC libc/string/libc_a-xpg_strerror_r.o
CC libc/string/libc_a-bcmp.o
CC libc/string/libc_a-memccpy.o
CC libc/string/libc_a-mempcpy.o
CC libc/string/libc_a-stpcpy.o
CC libc/string/libc_a-stpncpy.o
CC libc/string/libc_a-strndup.o
CC libc/string/libc_a-strcasestr.o
CC libc/string/libc_a-strchrnul.o
CC libc/string/libc_a-strndup_r.o
CC libc/string/libc_a-wcpncpy.o
CC libc/string/libc_a-wcpcpy.o
CC libc/string/libc_a-wcsdup.o
CC libc/string/libc_a-gnu_basename.o
CC libc/string/libc_a-memmem.o
CC libc/string/libc_a-memrchr.o
CC libc/string/libc_a-rawmemchr.o
CC libc/string/libc_a-strcasecmp_l.o
CC libc/string/libc_a-strcoll_l.o
CC libc/string/libc_a-strncasecmp_l.o
CC libc/string/libc_a-strverscmp.o
CC libc/string/libc_a-strxfrm_l.o
CC libc/string/libc_a-wcscasecmp.o
CC libc/string/libc_a-wcscasecmp_l.o
CC libc/string/libc_a-wcscoll_l.o
CC libc/string/libc_a-wcsncasecmp.o
CC libc/string/libc_a-wcsncasecmp_l.o
CC libc/string/libc_a-wcsxfrm_l.o
CC libc/string/libc_a-wmempcpy.o
CC libc/signal/libc_a-psignal.o
CC libc/signal/libc_a-raise.o
CC libc/signal/libc_a-signal.o
CC libc/signal/libc_a-sig2str.o
CC libc/time/libc_a-asctime.o
CC libc/time/libc_a-asctime_r.o
CC libc/time/libc_a-clock.o
CC libc/time/libc_a-ctime.o
CC libc/time/libc_a-ctime_r.o
CC libc/time/libc_a-difftime.o
CC libc/time/libc_a-gettzinfo.o
CC libc/time/libc_a-gmtime.o
CC libc/time/libc_a-gmtime_r.o
CC libc/time/libc_a-lcltime.o
CC libc/time/libc_a-lcltime_r.o
CC libc/time/libc_a-mktime.o
CC libc/time/libc_a-month_lengths.o
CC libc/time/libc_a-strftime.o
CC libc/time/libc_a-strptime.o
CC libc/time/libc_a-time.o
CC libc/time/libc_a-tzcalc_limits.o
CC libc/time/libc_a-tzlock.o
CC libc/time/libc_a-tzset.o
CC libc/time/libc_a-tzset_r.o
CC libc/time/libc_a-tzvars.o
CC libc/time/libc_a-wcsftime.o
CC libc/locale/libc_a-locale.o
CC libc/locale/libc_a-localeconv.o
CC libc/locale/libc_a-duplocale.o
CC libc/locale/libc_a-freelocale.o
CC libc/locale/libc_a-lctype.o
CC libc/locale/libc_a-lmessages.o
CC libc/locale/libc_a-lnumeric.o
CC libc/locale/libc_a-lmonetary.o
CC libc/locale/libc_a-newlocale.o
CC libc/locale/libc_a-nl_langinfo.o
CC libc/locale/libc_a-timelocal.o
CC libc/locale/libc_a-uselocale.o
CC libc/reent/libc_a-closer.o
CC libc/reent/libc_a-reent.o
CC libc/reent/libc_a-impure.o
CC libc/reent/libc_a-fcntlr.o
CC libc/reent/libc_a-fstatr.o
CC libc/reent/libc_a-getreent.o
CC libc/reent/libc_a-gettimeofdayr.o
CC libc/reent/libc_a-isattyr.o
CC libc/reent/libc_a-linkr.o
CC libc/reent/libc_a-lseekr.o
CC libc/reent/libc_a-mkdirr.o
CC libc/reent/libc_a-openr.o
CC libc/reent/libc_a-readr.o
CC libc/reent/libc_a-renamer.o
CC libc/reent/libc_a-signalr.o
CC libc/reent/libc_a-signgam.o
CC libc/reent/libc_a-sbrkr.o
CC libc/reent/libc_a-statr.o
CC libc/reent/libc_a-timesr.o
CC libc/reent/libc_a-unlinkr.o
CC libc/reent/libc_a-writer.o
CC libc/reent/libc_a-execr.o
CC libc/errno/libc_a-errno.o
CC libc/misc/libc_a-__dprintf.o
CC libc/misc/libc_a-unctrl.o
CC libc/misc/libc_a-ffs.o
CC libc/misc/libc_a-init.o
CC libc/misc/libc_a-fini.o
CC libc/misc/libc_a-lock.o
CC libc/posix/libc_a-closedir.o
CC libc/posix/libc_a-collate.o
CC libc/posix/libc_a-collcmp.o
CC libc/posix/libc_a-creat.o
CC libc/posix/libc_a-dirfd.o
CC libc/posix/libc_a-fnmatch.o
CC libc/posix/libc_a-glob.o
CC libc/posix/libc_a-_isatty.o
CC libc/posix/libc_a-isatty.o
CC libc/posix/libc_a-opendir.o
CC libc/posix/libc_a-readdir.o
CC libc/posix/libc_a-readdir_r.o
../../../newlib/libc/posix/glob.c: In function ‘g_lstat’:
../../../newlib/libc/posix/glob.c:847:16: warning: implicit declaration of function ‘lstat’; did you mean ‘_stat’? [-Wimplicit-function-declaration]
847 | return(lstat(buf, sb));
| ^~~~~
| _stat
CC libc/posix/libc_a-regcomp.o
CC libc/posix/libc_a-regerror.o
CC libc/posix/libc_a-regexec.o
CC libc/posix/libc_a-regfree.o
CC libc/posix/libc_a-rewinddir.o
CC libc/posix/libc_a-sleep.o
CC libc/posix/libc_a-usleep.o
CC libc/posix/libc_a-telldir.o
CC libc/posix/libc_a-ftw.o
CC libc/posix/libc_a-nftw.o
CC libc/posix/libc_a-scandir.o
CC libc/posix/libc_a-seekdir.o
../../../newlib/libc/posix/nftw.c: In function ‘do_nftw’:
../../../newlib/libc/posix/nftw.c:56:34: warning: implicit declaration of function ‘lstat’; did you mean ‘_stat’? [-Wimplicit-function-declaration]
56 | if ((flags & FTW_PHYS) ? lstat(path, &st) : stat(path, &st) < 0) {
| ^~~~~
| _stat
CC libc/posix/libc_a-execl.o
CC libc/posix/libc_a-execle.o
CC libc/posix/libc_a-execlp.o
CC libc/posix/libc_a-execv.o
CC libc/posix/libc_a-execve.o
CC libc/posix/libc_a-execvp.o
CC libc/posix/libc_a-wordexp.o
CC libc/posix/libc_a-wordfree.o
CC libc/posix/libc_a-popen.o
CC libc/posix/libc_a-posix_spawn.o
CC libc/syscalls/libc_a-sysclose.o
CC libc/syscalls/libc_a-sysfcntl.o
../../../newlib/libc/posix/posix_spawn.c: In function ‘process_spawnattr’:
../../../newlib/libc/posix/posix_spawn.c:169:21: warning: implicit declaration of function ‘sched_setscheduler’ [-Wimplicit-function-declaration]
169 | if (sched_setscheduler(0, sa->sa_schedpolicy,
| ^~~~~~~~~~~~~~~~~~
../../../newlib/libc/posix/posix_spawn.c:173:21: warning: implicit declaration of function ‘sched_setparam’ [-Wimplicit-function-declaration]
173 | if (sched_setparam(0, &sa->sa_schedparam) != 0)
| ^~~~~~~~~~~~~~
CC libc/syscalls/libc_a-sysfstat.o
CC libc/syscalls/libc_a-sysgetpid.o
CC libc/syscalls/libc_a-sysgettod.o
CC libc/syscalls/libc_a-sysisatty.o
CC libc/syscalls/libc_a-syskill.o
CC libc/syscalls/libc_a-syslink.o
CC libc/syscalls/libc_a-syslseek.o
CC libc/syscalls/libc_a-sysopen.o
CC libc/syscalls/libc_a-sysread.o
CC libc/syscalls/libc_a-syssbrk.o
CC libc/syscalls/libc_a-sysstat.o
CC libc/syscalls/libc_a-systimes.o
CC libc/syscalls/libc_a-sysunlink.o
CC libc/syscalls/libc_a-syswrite.o
CC libc/syscalls/libc_a-sysexecve.o
CC libc/syscalls/libc_a-sysfork.o
CC libc/syscalls/libc_a-syswait.o
CC libc/ssp/libc_a-chk_fail.o
CC libc/ssp/libc_a-stack_protector.o
CC libc/ssp/libc_a-memcpy_chk.o
CC libc/ssp/libc_a-memmove_chk.o
CC libc/ssp/libc_a-mempcpy_chk.o
CC libc/ssp/libc_a-memset_chk.o
CC libc/ssp/libc_a-stpcpy_chk.o
CC libc/ssp/libc_a-stpncpy_chk.o
CC libc/ssp/libc_a-strcat_chk.o
CC libc/ssp/libc_a-strcpy_chk.o
CC libc/ssp/libc_a-strncat_chk.o
CC libc/ssp/libc_a-strncpy_chk.o
CC libc/ssp/libc_a-gets_chk.o
CC libc/ssp/libc_a-snprintf_chk.o
CC libc/ssp/libc_a-sprintf_chk.o
CC libc/ssp/libc_a-vsnprintf_chk.o
CC libc/ssp/libc_a-vsprintf_chk.o
CPPAS libc/machine/r5900/libc_a-setjmp.o
CC libc/sys/ps2/crt0.o
AR libm.a
../../../newlib/libc/sys/ps2/crt0.c:3:1: fatal error: opening dependency file libc/sys/ps2/.deps/crt0.Tpo: No such file or directory
3 | void _start() { }
| ^~~~
compilation terminated.
make[3]: *** [libc/sys/ps2/crt0.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all] Error 2
make[1]: *** [all-target-newlib] Error 2
make: *** [all] Error 2
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PlayStation 2 newlib port
2023-06-20 7:05 ` Francisco Javier Trujillo Mata
@ 2023-09-19 16:38 ` Francisco Javier Trujillo Mata
2023-09-19 20:42 ` Jeff Johnston
0 siblings, 1 reply; 5+ messages in thread
From: Francisco Javier Trujillo Mata @ 2023-09-19 16:38 UTC (permalink / raw)
To: Jeff Johnston; +Cc: newlib
[-- Attachment #1: Type: text/plain, Size: 5516 bytes --]
Any update here?
I'm really interested in this, I would like to mainstream PS2 and PSP, and
I'm also aware that the Dreamcast community is also preparing it for
mainstreaming it.
Cheers
El mar, 20 jun 2023 a las 9:05, Francisco Javier Trujillo Mata (<
fjtrujy@gmail.com>) escribió:
> Hello Jeff,
>
> First of all thanks for replying and paying attention to my message.
>
> To install the proper PS2 Environment to be able to compile and generate
> PS2 binaries, you require to follow the steps given here:
> https://github.com/ps2dev/ps2dev
>
> The PS2 is a complex machine, (it has 3 main CPUs DVP, IOP, and EE, which
> means 3 toolchains...) so the whole PS2 development environment is not an
> easy thing, there are plenty of tools and repositories involved, and as
> part of this set of tools, and we also have Newlib, as you can see in the
> next link (which is using a fork with our specific changes).
> https://github.com/ps2dev/ps2toolchain-ee/blob/main/scripts/003-newlib.sh
>
> However, if we just want to check if Newlib compiles for this PS2 port we
> are creating, we just need to pay attention to the EE CPU, which is the
> next repo:
> https://github.com/ps2dev/ps2toolchain-ee
> There under the "scripts" folder, you can see how Newlib is the 3rd step,
> so if we want to check if Newlib is compiling, you just need to have proper
> binutils and GCC installed previously (first and second steps).
>
> Additionally, to make easier the usage of the whole PS2 toolchain, we are
> offering some precompiled toolchains:
> https://github.com/ps2dev/ps2dev/releases/tag/latest
> And also the possibility of using dockers:
>
> https://hub.docker.com/layers/ps2dev/ps2dev/latest/images/sha256-e6000652581b4d43d135f1862ecccabe4b11dd2afa3edb667b48736d815b59c1?context=explore
>
> For executing the generated binaries, you will require either a PS2 that
> allows you to execute homebrews or a PS2 emulator.
>
> Regarding the changes I have made, all the files have been created from
> scratch for me, anyway, I'm part of the PS2Dev community, so I will add the
> PS2DEV license to these files.
>
>
> Finally, regarding my original request, I was suffering issues when
> compiling Newlib after adding the specific PS2 changes, I have found a
> workaround to make it work, that probably will tell you more about the
> actual issue.
> When adding a new "sys" to the Newlib, in our case "newlib/libc/sys/ps2",
> if you just add the crt0 file (it doesn't matter if it is .S, .s or .c),
> which means that you "Makefile.inc" is going to be empty, you will suffer
> the compilations issues that I previously mentioned.
> fatal error: opening dependency file libc/sys/ps2/.deps/crt0.Tpo: No such
> file or directory
>
> However, if you add an extra file in the sys/ps2 directory, like a dummy.c
> empty, and obviously, add the reference of this file into the
> "Makefile.inc", then the library compiles properly generating the expected
> ".a" and ".o" files.
>
> I suppose that the same issue that I'm speaking about most probably is
> also being suffered with the tic80 system.
> https://github.com/bminor/newlib/tree/master/newlib/libc/sys/tic80
>
> Finally, I'm going to attach the compilation log.
>
>
> Regards,
> Francisco.
>
> El lun, 19 jun 2023 a las 22:42, Jeff Johnston (<jjohnstn@redhat.com>)
> escribió:
>
>> Hi Francisco,
>>
>> If you would like help, I would suggest you tell others where they can
>> get a proper toolset to build with or at least
>> attach your build log which may provide more info. I certainly don't
>> have a Playstation 2 toolset hanging around.
>>
>> In addition, looking at your patches, you are missing copyright/licensing
>> info for the new files you are adding
>> (as opposed to existing files you are modifying). If you are taking code
>> from another location, you cannot change
>> their license/copyright. If you wrote these from scratch you should
>> indicate this but you still need to add the licensing/copyright
>> info.
>>
>> Regards,
>>
>> -- Jeff J.
>>
>> On Tue, Jun 13, 2023 at 2:31 PM Francisco Javier Trujillo Mata <
>> fjtrujy@gmail.com> wrote:
>>
>>> Hi there!
>>> I would like to mainstream the PS2 newlib port. So far the PS2 has had
>>> newlib ports for years, however, it was never intended to be merged into
>>> the mainstream.
>>>
>>> I'm now trying to port to the latest release 4.3.0, however, I'm
>>> suffering
>>> some errors during the compilation process.
>>>
>>> I have attached the changes that I have done so far.
>>> Then I just rerun the command `autoreconf` using the proper autoconf and
>>> automake versions
>>>
>>> I execute `configure` with:
>>>
>>> PROC_NR=$(getconf _NPROCESSORS_ONLN)
>>>
>>> TARGET="mips64r5900el-ps2-elf"
>>> TARGET_ALIAS="ee"
>>>
>>> ## Create and enter the toolchain/build directory
>>> rm -rf "build-$TARGET"
>>> mkdir "build-$TARGET"
>>> cd "build-$TARGET"
>>>
>>> ## Configure the build.
>>> CFLAGS_FOR_TARGET="-O2" ../configure \
>>> --prefix="$PS2DEV/$TARGET_ALIAS" \
>>> --target="$TARGET" \
>>> --enable-newlib-retargetable-locking \
>>> $TARG_XTRA_OPTS
>>>
>>> ## Compile and install.
>>> make -j "$PROC_NR" all
>>>
>>>
>>> And then it always fails with this error,
>>>
>>> fatal error: opening dependency file libc/sys/ps2/.deps/crt0.Tpo: No such
>>> file or directory
>>>
>>> Could you help me to identify where the issue is?
>>>
>>> Cheers.
>>>
>>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PlayStation 2 newlib port
2023-09-19 16:38 ` Francisco Javier Trujillo Mata
@ 2023-09-19 20:42 ` Jeff Johnston
0 siblings, 0 replies; 5+ messages in thread
From: Jeff Johnston @ 2023-09-19 20:42 UTC (permalink / raw)
To: Francisco Javier Trujillo Mata; +Cc: newlib
[-- Attachment #1: Type: text/plain, Size: 5956 bytes --]
Hi Francisco,
There were issues with the previous patch which did not have copyright
headers. I don't see an updated patch in my mail logs. Did you submit one?
-- Jeff J.
On Tue, Sep 19, 2023 at 12:38 PM Francisco Javier Trujillo Mata <
fjtrujy@gmail.com> wrote:
> Any update here?
>
> I'm really interested in this, I would like to mainstream PS2 and PSP, and
> I'm also aware that the Dreamcast community is also preparing it for
> mainstreaming it.
>
> Cheers
>
> El mar, 20 jun 2023 a las 9:05, Francisco Javier Trujillo Mata (<
> fjtrujy@gmail.com>) escribió:
>
>> Hello Jeff,
>>
>> First of all thanks for replying and paying attention to my message.
>>
>> To install the proper PS2 Environment to be able to compile and generate
>> PS2 binaries, you require to follow the steps given here:
>> https://github.com/ps2dev/ps2dev
>>
>> The PS2 is a complex machine, (it has 3 main CPUs DVP, IOP, and EE, which
>> means 3 toolchains...) so the whole PS2 development environment is not an
>> easy thing, there are plenty of tools and repositories involved, and as
>> part of this set of tools, and we also have Newlib, as you can see in the
>> next link (which is using a fork with our specific changes).
>> https://github.com/ps2dev/ps2toolchain-ee/blob/main/scripts/003-newlib.sh
>>
>> However, if we just want to check if Newlib compiles for this PS2 port we
>> are creating, we just need to pay attention to the EE CPU, which is the
>> next repo:
>> https://github.com/ps2dev/ps2toolchain-ee
>> There under the "scripts" folder, you can see how Newlib is the 3rd step,
>> so if we want to check if Newlib is compiling, you just need to have proper
>> binutils and GCC installed previously (first and second steps).
>>
>> Additionally, to make easier the usage of the whole PS2 toolchain, we are
>> offering some precompiled toolchains:
>> https://github.com/ps2dev/ps2dev/releases/tag/latest
>> And also the possibility of using dockers:
>>
>> https://hub.docker.com/layers/ps2dev/ps2dev/latest/images/sha256-e6000652581b4d43d135f1862ecccabe4b11dd2afa3edb667b48736d815b59c1?context=explore
>>
>> For executing the generated binaries, you will require either a PS2 that
>> allows you to execute homebrews or a PS2 emulator.
>>
>> Regarding the changes I have made, all the files have been created from
>> scratch for me, anyway, I'm part of the PS2Dev community, so I will add the
>> PS2DEV license to these files.
>>
>>
>> Finally, regarding my original request, I was suffering issues when
>> compiling Newlib after adding the specific PS2 changes, I have found a
>> workaround to make it work, that probably will tell you more about the
>> actual issue.
>> When adding a new "sys" to the Newlib, in our case "newlib/libc/sys/ps2",
>> if you just add the crt0 file (it doesn't matter if it is .S, .s or .c),
>> which means that you "Makefile.inc" is going to be empty, you will suffer
>> the compilations issues that I previously mentioned.
>> fatal error: opening dependency file libc/sys/ps2/.deps/crt0.Tpo: No such
>> file or directory
>>
>> However, if you add an extra file in the sys/ps2 directory, like a
>> dummy.c empty, and obviously, add the reference of this file into the
>> "Makefile.inc", then the library compiles properly generating the expected
>> ".a" and ".o" files.
>>
>> I suppose that the same issue that I'm speaking about most probably is
>> also being suffered with the tic80 system.
>> https://github.com/bminor/newlib/tree/master/newlib/libc/sys/tic80
>>
>> Finally, I'm going to attach the compilation log.
>>
>>
>> Regards,
>> Francisco.
>>
>> El lun, 19 jun 2023 a las 22:42, Jeff Johnston (<jjohnstn@redhat.com>)
>> escribió:
>>
>>> Hi Francisco,
>>>
>>> If you would like help, I would suggest you tell others where they can
>>> get a proper toolset to build with or at least
>>> attach your build log which may provide more info. I certainly don't
>>> have a Playstation 2 toolset hanging around.
>>>
>>> In addition, looking at your patches, you are missing
>>> copyright/licensing info for the new files you are adding
>>> (as opposed to existing files you are modifying). If you are taking
>>> code from another location, you cannot change
>>> their license/copyright. If you wrote these from scratch you should
>>> indicate this but you still need to add the licensing/copyright
>>> info.
>>>
>>> Regards,
>>>
>>> -- Jeff J.
>>>
>>> On Tue, Jun 13, 2023 at 2:31 PM Francisco Javier Trujillo Mata <
>>> fjtrujy@gmail.com> wrote:
>>>
>>>> Hi there!
>>>> I would like to mainstream the PS2 newlib port. So far the PS2 has had
>>>> newlib ports for years, however, it was never intended to be merged into
>>>> the mainstream.
>>>>
>>>> I'm now trying to port to the latest release 4.3.0, however, I'm
>>>> suffering
>>>> some errors during the compilation process.
>>>>
>>>> I have attached the changes that I have done so far.
>>>> Then I just rerun the command `autoreconf` using the proper autoconf and
>>>> automake versions
>>>>
>>>> I execute `configure` with:
>>>>
>>>> PROC_NR=$(getconf _NPROCESSORS_ONLN)
>>>>
>>>> TARGET="mips64r5900el-ps2-elf"
>>>> TARGET_ALIAS="ee"
>>>>
>>>> ## Create and enter the toolchain/build directory
>>>> rm -rf "build-$TARGET"
>>>> mkdir "build-$TARGET"
>>>> cd "build-$TARGET"
>>>>
>>>> ## Configure the build.
>>>> CFLAGS_FOR_TARGET="-O2" ../configure \
>>>> --prefix="$PS2DEV/$TARGET_ALIAS" \
>>>> --target="$TARGET" \
>>>> --enable-newlib-retargetable-locking \
>>>> $TARG_XTRA_OPTS
>>>>
>>>> ## Compile and install.
>>>> make -j "$PROC_NR" all
>>>>
>>>>
>>>> And then it always fails with this error,
>>>>
>>>> fatal error: opening dependency file libc/sys/ps2/.deps/crt0.Tpo: No
>>>> such
>>>> file or directory
>>>>
>>>> Could you help me to identify where the issue is?
>>>>
>>>> Cheers.
>>>>
>>>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-09-19 20:42 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-13 18:31 PlayStation 2 newlib port Francisco Javier Trujillo Mata
2023-06-19 20:41 ` Jeff Johnston
2023-06-20 7:05 ` Francisco Javier Trujillo Mata
2023-09-19 16:38 ` Francisco Javier Trujillo Mata
2023-09-19 20:42 ` Jeff Johnston
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).