|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
From 017abdc7a59acf7e76109b7fd285f9856b4a9eee Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Wed, 6 May 2020 04:38:35 +0530
|
|
|
|
|
Subject: [PATCH 1/8] libc: add siginterrupt dummy
|
|
|
|
|
Subject: [PATCH 1/9] libc: add siginterrupt dummy
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
repos/libports/src/lib/libc/signal.cc | 3 +++
|
|
|
|
@ -22,13 +22,13 @@ index a08854a8c0..2d2def34d3 100644
|
|
|
|
|
extern "C" int __sys_sigaction(int, const struct sigaction *, struct sigaction *) __attribute__((weak, alias("sigaction")));
|
|
|
|
|
extern "C" int __libc_sigaction(int, const struct sigaction *, struct sigaction *) __attribute__((weak, alias("sigaction")));
|
|
|
|
|
--
|
|
|
|
|
2.29.2
|
|
|
|
|
2.30.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
From e73c873a6e329eef4dede312e0bd0e597c93adde Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Wed, 6 May 2020 04:59:56 +0530
|
|
|
|
|
Subject: [PATCH 2/8] libc: add upstream mbsinit
|
|
|
|
|
Subject: [PATCH 2/9] libc: add upstream mbsinit
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
repos/libports/lib/mk/libc-locale.mk | 2 +-
|
|
|
|
@ -48,13 +48,13 @@ index 8e75e59589..2bb98b1456 100644
|
|
|
|
|
SRC_C = $(filter-out $(FILTER_OUT),$(notdir $(wildcard $(LIBC_LOCALE_DIR)/*.c)))
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
2.29.2
|
|
|
|
|
2.30.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
From 98d8ef8e3fa37076fab524b6830229f347c89feb Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Wed, 27 May 2020 16:35:16 +0530
|
|
|
|
|
Subject: [PATCH 3/8] libc: add mlock and munlock dummies
|
|
|
|
|
Subject: [PATCH 3/9] libc: add mlock and munlock dummies
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
repos/libports/src/lib/libc/dummies.cc | 10 ++++++++++
|
|
|
|
@ -81,13 +81,13 @@ index b01d95f717..f676b4979c 100644
|
|
|
|
|
} /* extern "C" */
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
2.29.2
|
|
|
|
|
2.30.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
From a17d8387a9bbc7d340ed42cfcdc0adedce16f4dd Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Fri, 29 May 2020 09:26:50 +0530
|
|
|
|
|
Subject: [PATCH 4/8] libc: return 0 from getpgrp and getppid dummies
|
|
|
|
|
Subject: [PATCH 4/9] libc: return 0 from getpgrp and getppid dummies
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
repos/libports/src/lib/libc/dummies.cc | 4 ++--
|
|
|
|
@ -109,13 +109,13 @@ index f676b4979c..9c568dcc77 100644
|
|
|
|
|
DUMMY(int , -1, getrusage, (int, rusage *))
|
|
|
|
|
DUMMY_SILENT(uid_t , 0, getuid, (void))
|
|
|
|
|
--
|
|
|
|
|
2.29.2
|
|
|
|
|
2.30.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
From 9f3375cdca705e3271f209de76beb19354a150e8 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Thu, 26 Nov 2020 12:47:30 +0100
|
|
|
|
|
Subject: [PATCH 5/8] libc: always set argv and envp to valid arrays
|
|
|
|
|
Subject: [PATCH 5/9] libc: always set argv and envp to valid arrays
|
|
|
|
|
MIME-Version: 1.0
|
|
|
|
|
Content-Type: text/plain; charset=UTF-8
|
|
|
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
@ -174,13 +174,13 @@ index 76645d82cb..ca9a8fd38a 100644
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
--
|
|
|
|
|
2.29.2
|
|
|
|
|
2.30.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
From dd89c66247bf751c87b09fffc7af15c04a59fd91 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Wed, 2 Dec 2020 16:31:59 +0100
|
|
|
|
|
Subject: [PATCH 6/8] libc: implement if_nametoindex
|
|
|
|
|
Subject: [PATCH 6/9] libc: implement if_nametoindex
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
.../libports/src/lib/libc/socket_fs_plugin.cc | 50 ++++++++++++++++++-
|
|
|
|
@ -255,13 +255,13 @@ index d5db46ff83..fabaf68b5c 100644
|
|
|
|
|
|
|
|
|
|
/****************************
|
|
|
|
|
--
|
|
|
|
|
2.29.2
|
|
|
|
|
2.30.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
From 1f249e18ea3972911c1405deb40afd85b8d64dea Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Thu, 4 Jun 2020 01:03:37 +0530
|
|
|
|
|
Subject: [PATCH 7/8] libc: add readpassphrase
|
|
|
|
|
Subject: [PATCH 7/9] libc: add readpassphrase
|
|
|
|
|
|
|
|
|
|
This symbol is already in the stub library.
|
|
|
|
|
---
|
|
|
|
@ -281,13 +281,13 @@ index ab0ce929aa..1c7f84e800 100644
|
|
|
|
|
sem_new.c \
|
|
|
|
|
signal.c \
|
|
|
|
|
--
|
|
|
|
|
2.29.2
|
|
|
|
|
2.30.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
From 708d1c11c1954636df4eef2efde8f1a5cc4afa7e Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Wed, 2 Dec 2020 22:27:00 +0100
|
|
|
|
|
Subject: [PATCH 8/8] libc: replace strange errno values for O_NOFOLLOW
|
|
|
|
|
Subject: [PATCH 8/9] libc: replace strange errno values for O_NOFOLLOW
|
|
|
|
|
|
|
|
|
|
Do not replace ENOENT and EEXIST with ELOOP when open is called with
|
|
|
|
|
O_NOFOLLOW.
|
|
|
|
@ -344,5 +344,120 @@ index 0947e44740..3b34c134f8 100644
|
|
|
|
|
return Fn::COMPLETE;
|
|
|
|
|
|
|
|
|
|
--
|
|
|
|
|
2.29.2
|
|
|
|
|
2.30.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
From 33aac81eee66ae5f218e00b7d596018a2931a784 Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Emery Hemingway <ehmry@posteo.net>
|
|
|
|
|
Date: Sat, 6 Feb 2021 13:45:23 +0100
|
|
|
|
|
Subject: [PATCH 9/9] libc: add some missing internal symbols
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
repos/libports/lib/mk/libc-gen.inc | 1 -
|
|
|
|
|
repos/libports/lib/mk/libiconv.mk | 3 ++-
|
|
|
|
|
repos/libports/src/lib/libc/dummies.cc | 36 ++++++++++++++++++++++++--
|
|
|
|
|
repos/libports/src/lib/libc/fork.cc | 3 ++-
|
|
|
|
|
4 files changed, 38 insertions(+), 5 deletions(-)
|
|
|
|
|
|
|
|
|
|
diff --git a/repos/libports/lib/mk/libc-gen.inc b/repos/libports/lib/mk/libc-gen.inc
|
|
|
|
|
index 1c7f84e800..ab5ac34f2f 100644
|
|
|
|
|
--- a/repos/libports/lib/mk/libc-gen.inc
|
|
|
|
|
+++ b/repos/libports/lib/mk/libc-gen.inc
|
|
|
|
|
@@ -22,7 +22,6 @@ FILTER_OUT_C += lockf.c
|
|
|
|
|
|
|
|
|
|
# interposing stubs
|
|
|
|
|
FILTER_OUT_C += \
|
|
|
|
|
- elf_utils.c \
|
|
|
|
|
sleep.c \
|
|
|
|
|
_spinlock_stub.c \
|
|
|
|
|
usleep.c \
|
|
|
|
|
diff --git a/repos/libports/lib/mk/libiconv.mk b/repos/libports/lib/mk/libiconv.mk
|
|
|
|
|
index a4154ba6db..ce04c695ce 100644
|
|
|
|
|
--- a/repos/libports/lib/mk/libiconv.mk
|
|
|
|
|
+++ b/repos/libports/lib/mk/libiconv.mk
|
|
|
|
|
@@ -12,7 +12,8 @@ CC_DEF += -DLIBDIR=\"\"
|
|
|
|
|
|
|
|
|
|
SRC_C := iconv.c \
|
|
|
|
|
relocatable.c \
|
|
|
|
|
- localcharset.c
|
|
|
|
|
+ localcharset.c \
|
|
|
|
|
+ citrus_iconv.c
|
|
|
|
|
|
|
|
|
|
SHARED_LIB = yes
|
|
|
|
|
|
|
|
|
|
diff --git a/repos/libports/src/lib/libc/dummies.cc b/repos/libports/src/lib/libc/dummies.cc
|
|
|
|
|
index 9c568dcc77..cfa78effac 100644
|
|
|
|
|
--- a/repos/libports/src/lib/libc/dummies.cc
|
|
|
|
|
+++ b/repos/libports/src/lib/libc/dummies.cc
|
|
|
|
|
@@ -37,6 +37,8 @@ extern "C" {
|
|
|
|
|
#include <resolv.h>
|
|
|
|
|
#include <spinlock.h>
|
|
|
|
|
#include <ucontext.h>
|
|
|
|
|
+#include <dirent.h>
|
|
|
|
|
+#include <gdtoa.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define DUMMY(ret_type, ret_val, name, args) __attribute__((weak)) \
|
|
|
|
|
@@ -216,7 +218,9 @@ int __attribute__((weak)) madvise(void *addr, size_t length, int advice)
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
-const struct res_sym __p_type_syms[] = { };
|
|
|
|
|
+const struct res_sym __p_class_syms[] = { };
|
|
|
|
|
+const struct res_sym __p_rcode_syms[] = { };
|
|
|
|
|
+const struct res_sym __p_type_syms[] = { };
|
|
|
|
|
|
|
|
|
|
#define DUMMY_EPERM(ret_type, ret_val, name, args) __attribute__((weak)) \
|
|
|
|
|
ret_type name args \
|
|
|
|
|
@@ -228,5 +232,33 @@ ret_type name args \
|
|
|
|
|
DUMMY_EPERM(int, -1, mlock, (const void *, size_t));
|
|
|
|
|
DUMMY_EPERM(int, -1, munlock, (const void *, size_t));
|
|
|
|
|
|
|
|
|
|
-} /* extern "C" */
|
|
|
|
|
+DUMMY(int, -1, sysarch, (int, void *))
|
|
|
|
|
+
|
|
|
|
|
+DUMMY(int, -1, freebsd11_fstat, (struct thread *, struct freebsd11_stat_args *))
|
|
|
|
|
+DUMMY(int, -1, freebsd11_lstat, (struct thread *, struct freebsd11_lstat_args *))
|
|
|
|
|
+DUMMY(int, -1, freebsd11_readdir, (DIR *, struct freebsd11_dirent *, struct freebsd11_dirent **))
|
|
|
|
|
+DUMMY(int, -1, freebsd11_stat, (struct thread *, struct freebsd11_stat_args *))
|
|
|
|
|
+DUMMY(int, -1, freebsd11_statfs, (const char *, struct freebsd11_statfs *))
|
|
|
|
|
+
|
|
|
|
|
+DUMMY(int, -1, strunvis, (char *dst, const char *src))
|
|
|
|
|
+DUMMY(int, -1, strvisx, (char *, const char *, size_t, int))
|
|
|
|
|
+DUMMY(int, -1, unvis, (char *, int, int *, int))
|
|
|
|
|
+
|
|
|
|
|
+DUMMY(const char *, "", loc_ntoa, (const u_char *, char *))
|
|
|
|
|
+DUMMY(const char *, "", p_class, (int))
|
|
|
|
|
+DUMMY(const char *, "", p_rcode, (int))
|
|
|
|
|
+DUMMY(const char *, "", p_section, (int, int))
|
|
|
|
|
+DUMMY(const char *, "", p_type, (int))
|
|
|
|
|
+DUMMY(char *, NULL, p_secstodate, (u_long))
|
|
|
|
|
+DUMMY(int, -1, dn_count_labels, (const char *))
|
|
|
|
|
+DUMMY(int, -1, loc_aton, (const char *, u_char *))
|
|
|
|
|
+DUMMY(int, -1, sym_ston, (const struct res_sym *, const char *, int *))
|
|
|
|
|
+DUMMY(void, , res_pquery, (const res_state, const u_char *, int, FILE *))
|
|
|
|
|
|
|
|
|
|
+DUMMY(int, -1, clock_getcpuclockid2, (id_t, int, clockid_t *))
|
|
|
|
|
+
|
|
|
|
|
+DUMMY(int, -1, _citrus_iconv_open, (struct _citrus_iconv **, const char *, const char *))
|
|
|
|
|
+
|
|
|
|
|
+DUMMY(int, -1, strtodg, (const char*, char**, FPI*, int*, ULong*))
|
|
|
|
|
+
|
|
|
|
|
+} /* extern "C" */
|
|
|
|
|
diff --git a/repos/libports/src/lib/libc/fork.cc b/repos/libports/src/lib/libc/fork.cc
|
|
|
|
|
index 4f3a9cdd07..3464a338a8 100644
|
|
|
|
|
--- a/repos/libports/src/lib/libc/fork.cc
|
|
|
|
|
+++ b/repos/libports/src/lib/libc/fork.cc
|
|
|
|
|
@@ -732,7 +732,8 @@ extern "C" pid_t __sys_wait4(pid_t pid, int *status, int options, rusage *rusage
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
-extern "C" pid_t wait4(pid_t, int *, int, rusage *) __attribute__((weak, alias("__sys_wait4")));
|
|
|
|
|
+extern "C" pid_t wait4(pid_t, int *, int, rusage *) __attribute__((weak, alias("__sys_wait4")));
|
|
|
|
|
+extern "C" pid_t _wait4(pid_t, int *, int, rusage *) __attribute__((weak, alias("__sys_wait4")));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void Libc::init_fork(Env &env, Config_accessor const &config_accessor,
|
|
|
|
|
--
|
|
|
|
|
2.30.0
|
|
|
|
|
|
|
|
|
|