|
1 |
| -From c89c130a211f4eb58b4a73d9849d183aa0777ebf Mon Sep 17 00:00:00 2001 |
| 1 | +From 791ffe535a74e6df0809459c5283ac80c46d0d6c Mon Sep 17 00:00:00 2001 |
2 | 2 |
|
3 | 3 | Date: Sun, 6 Jun 2021 16:37:54 +1000
|
4 | 4 | Subject: [PATCH] targets: add aero target port
|
|
9 | 9 | abis/aero/auxv.h | 13 +
|
10 | 10 | meson.build | 4 +
|
11 | 11 | options/ansi/generic/stdlib-stubs.cpp | 3 +
|
| 12 | + options/posix/generic/resolv_conf.cpp | 2 +- |
12 | 13 | options/rtdl/generic/linker.cpp | 5 +-
|
13 | 14 | options/rtdl/generic/main.cpp | 11 +-
|
14 | 15 | sysdeps/aero/crt-x86_64/crt0.S | 8 +
|
|
50 | 51 | sysdeps/aero/meson.build | 67 +++++
|
51 | 52 | sysdeps/dripos/generic/generic.cpp | 3 +
|
52 | 53 | sysdeps/lemon/generic/signals.S | 7 +
|
53 |
| - 45 files changed, 1021 insertions(+), 10 deletions(-) |
| 54 | + 46 files changed, 1022 insertions(+), 11 deletions(-) |
54 | 55 | create mode 100644 abis/aero/auxv.h
|
55 | 56 | create mode 100644 sysdeps/aero/crt-x86_64/crt0.S
|
56 | 57 | create mode 100644 sysdeps/aero/generic/aero.cc
|
@@ -154,6 +155,19 @@ index 347c659..8e97b26 100644
|
154 | 155 | sigset_t set;
|
155 | 156 | sigemptyset(&set);
|
156 | 157 | sigaddset(&set, SIGABRT);
|
| 158 | +diff --git a/options/posix/generic/resolv_conf.cpp b/options/posix/generic/resolv_conf.cpp |
| 159 | +index bd3fe73..9ffefb5 100644 |
| 160 | +--- a/options/posix/generic/resolv_conf.cpp |
| 161 | ++++ b/options/posix/generic/resolv_conf.cpp |
| 162 | +@@ -34,7 +34,7 @@ frg::optional<struct nameserver_data> get_nameserver() { |
| 163 | + } |
| 164 | + |
| 165 | + fclose(file); |
| 166 | +- if(ret.name == "") |
| 167 | ++ if(ret.name.size() == 0) |
| 168 | + return frg::null_opt; |
| 169 | + return ret; |
| 170 | + } |
157 | 171 | diff --git a/options/rtdl/generic/linker.cpp b/options/rtdl/generic/linker.cpp
|
158 | 172 | index 1720d4f..81e4d7e 100644
|
159 | 173 | --- a/options/rtdl/generic/linker.cpp
|
@@ -553,7 +567,7 @@ index 0000000..265ab56
|
553 | 567 | +}
|
554 | 568 | diff --git a/sysdeps/aero/generic/filesystem.cc b/sysdeps/aero/generic/filesystem.cc
|
555 | 569 | new file mode 100644
|
556 |
| -index 0000000..e3551a0 |
| 570 | +index 0000000..a944402 |
557 | 571 | --- /dev/null
|
558 | 572 | +++ b/sysdeps/aero/generic/filesystem.cc
|
559 | 573 | @@ -0,0 +1,266 @@
|
@@ -667,10 +681,10 @@ index 0000000..e3551a0
|
667 | 681 | +
|
668 | 682 | +int sys_tcgetattr(int fd, struct termios *attr) {
|
669 | 683 | + int result;
|
670 |
| -+ |
| 684 | ++ |
671 | 685 | + if (int e = sys_ioctl(fd, TCGETS, (void*)attr, &result); e)
|
672 | 686 | + return e;
|
673 |
| -+ |
| 687 | ++ |
674 | 688 | + return 0;
|
675 | 689 | +}
|
676 | 690 | +
|
@@ -1216,8 +1230,8 @@ index 0000000..d3fe862
|
1216 | 1230 | +// so, that we can implement the syscall in the kernel.
|
1217 | 1231 | +#define UNIMPLEMENTED(FUNCTION_NAME) \
|
1218 | 1232 | + { \
|
1219 |
| -+ sys_libc_log("Unimplemented syscall: " FUNCTION_NAME); \ |
1220 |
| -+ sys_exit(1); \ |
| 1233 | ++ syscall(314, FUNCTION_NAME, strlen(FUNCTION_NAME)); \ |
| 1234 | ++ __ensure(!"UNIMPLEMENTED function was called"); \ |
1221 | 1235 | + __builtin_unreachable(); \
|
1222 | 1236 | + }
|
1223 | 1237 | +
|
|
0 commit comments