erlang: Update from 21.1.3 to 21.2.1
This commit is contained in:
parent
14ff45826e
commit
b7244e687a
@ -1,7 +1,7 @@
|
|||||||
TERMUX_PKG_HOMEPAGE=https://www.erlang.org/
|
TERMUX_PKG_HOMEPAGE=https://www.erlang.org/
|
||||||
TERMUX_PKG_DESCRIPTION="General-purpose concurrent functional programming language"
|
TERMUX_PKG_DESCRIPTION="General-purpose concurrent functional programming language"
|
||||||
TERMUX_PKG_VERSION=21.1.3
|
TERMUX_PKG_VERSION=21.2.1
|
||||||
TERMUX_PKG_SHA256=9a447e1debed355ff78f5d502dc8259139d5aed2362037e7cca9dc9919245eca
|
TERMUX_PKG_SHA256=836d2e99337963ea583732f1f43b697df9c61940e8b16732919a55db82d8808f
|
||||||
TERMUX_PKG_SRCURL=https://github.com/erlang/otp/archive/OTP-$TERMUX_PKG_VERSION.tar.gz
|
TERMUX_PKG_SRCURL=https://github.com/erlang/otp/archive/OTP-$TERMUX_PKG_VERSION.tar.gz
|
||||||
TERMUX_PKG_DEPENDS="openssl, ncurses, libutil"
|
TERMUX_PKG_DEPENDS="openssl, ncurses, libutil"
|
||||||
TERMUX_PKG_HOSTBUILD="yes"
|
TERMUX_PKG_HOSTBUILD="yes"
|
||||||
|
@ -1,144 +0,0 @@
|
|||||||
diff --git a/lib/os_mon/c_src/cpu_sup.c b/lib/os_mon/c_src/cpu_sup.c
|
|
||||||
index 17ef48c26e..c96a5c9f7c 100644
|
|
||||||
--- a/lib/os_mon/c_src/cpu_sup.c
|
|
||||||
+++ b/lib/os_mon/c_src/cpu_sup.c
|
|
||||||
@@ -152,6 +152,8 @@ static void util_measure(unsigned int **result_vec, int *result_sz);
|
|
||||||
|
|
||||||
#if defined(__sun__)
|
|
||||||
static unsigned int misc_measure(char* name);
|
|
||||||
+#elif defined(__linux__)
|
|
||||||
+static unsigned int misc_measure(char cmd);
|
|
||||||
#endif
|
|
||||||
static void sendi(unsigned int data);
|
|
||||||
static void sendv(unsigned int data[], int ints);
|
|
||||||
@@ -231,6 +233,11 @@ int main(int argc, char** argv) {
|
|
||||||
case AVG1: sendi(misc_measure("avenrun_1min")); break;
|
|
||||||
case AVG5: sendi(misc_measure("avenrun_5min")); break;
|
|
||||||
case AVG15: sendi(misc_measure("avenrun_15min")); break;
|
|
||||||
+#elif defined(__linux__)
|
|
||||||
+ case NPROCS:
|
|
||||||
+ case AVG1:
|
|
||||||
+ case AVG5:
|
|
||||||
+ case AVG15: sendi(misc_measure(cmd)); break;
|
|
||||||
#elif defined(__OpenBSD__) || (defined(__APPLE__) && defined(__MACH__)) || defined(__FreeBSD__) || defined(__DragonFly__)
|
|
||||||
case NPROCS: bsd_count_procs(); break;
|
|
||||||
case AVG1: bsd_loadavg(0); break;
|
|
||||||
@@ -238,7 +245,7 @@ int main(int argc, char** argv) {
|
|
||||||
case AVG15: bsd_loadavg(2); break;
|
|
||||||
#endif
|
|
||||||
#if defined(__sun__) || defined(__linux__) || (defined(__APPLE__) && defined(__MACH__)) || defined(__FreeBSD__)
|
|
||||||
- case UTIL: util_measure(&rv,&sz); sendv(rv, sz); break;
|
|
||||||
+ case UTIL: util_measure(&rv,&sz); sendv(rv, sz); break;
|
|
||||||
#endif
|
|
||||||
case QUIT: free((void*)rv); return 0;
|
|
||||||
default: error("Bad command"); break;
|
|
||||||
@@ -329,6 +336,22 @@ static void bsd_count_procs(void) {
|
|
||||||
|
|
||||||
#if defined(__linux__)
|
|
||||||
|
|
||||||
+static unsigned int misc_measure(char cmd) {
|
|
||||||
+ struct sysinfo info;
|
|
||||||
+
|
|
||||||
+ if (sysinfo(&info))
|
|
||||||
+ error(strerror(errno));
|
|
||||||
+
|
|
||||||
+ switch (cmd) {
|
|
||||||
+ case AVG1: return (unsigned int)(info.loads[0] / 256);
|
|
||||||
+ case AVG5: return (unsigned int)(info.loads[1] / 256);
|
|
||||||
+ case AVG15: return (unsigned int)(info.loads[2] / 256);
|
|
||||||
+ case NPROCS: return info.procs;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return -1;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static cpu_t *read_procstat(FILE *fp, cpu_t *cpu) {
|
|
||||||
char buffer[BUFFERSIZE];
|
|
||||||
|
|
||||||
@@ -357,8 +380,24 @@ static void util_measure(unsigned int **result_vec, int *result_sz) {
|
|
||||||
FILE *fp;
|
|
||||||
unsigned int *rv = NULL;
|
|
||||||
cpu_t cpu;
|
|
||||||
-
|
|
||||||
+
|
|
||||||
+ rv = *result_vec;
|
|
||||||
+ rv[0] = no_of_cpus;
|
|
||||||
+
|
|
||||||
if ( (fp = fopen(PROCSTAT,"r")) == NULL) {
|
|
||||||
+ if (errno == EACCES) { /* SELinux */
|
|
||||||
+ rv[1] = 1; /* just the cpu id */
|
|
||||||
+ ++rv; /* first value is number of cpus */
|
|
||||||
+ ++rv; /* second value is number of entries */
|
|
||||||
+ for (i = 0; i < no_of_cpus; ++i) {
|
|
||||||
+ rv[0] = CU_CPU_ID;
|
|
||||||
+ rv[1] = i;
|
|
||||||
+ rv += 1*2;
|
|
||||||
+ }
|
|
||||||
+ *result_sz = 2 + 2*1 * no_of_cpus;
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
/* Check if procfs is mounted,
|
|
||||||
* otherwise:
|
|
||||||
* try and try again, bad procsfs.
|
|
||||||
@@ -367,20 +406,19 @@ static void util_measure(unsigned int **result_vec, int *result_sz) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- /*ignore read*/
|
|
||||||
+ /*ignore read*/
|
|
||||||
if (fgets(buffer, BUFFERSIZE, fp) == NULL) {
|
|
||||||
*result_sz = 0;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
- rv = *result_vec;
|
|
||||||
- rv[0] = no_of_cpus;
|
|
||||||
+
|
|
||||||
rv[1] = CU_VALUES;
|
|
||||||
++rv; /* first value is number of cpus */
|
|
||||||
++rv; /* second value is number of entries */
|
|
||||||
|
|
||||||
for (i = 0; i < no_of_cpus; ++i) {
|
|
||||||
read_procstat(fp, &cpu);
|
|
||||||
-
|
|
||||||
+
|
|
||||||
rv[ 0] = CU_CPU_ID; rv[ 1] = cpu.id;
|
|
||||||
rv[ 2] = CU_USER; rv[ 3] = cpu.user;
|
|
||||||
rv[ 4] = CU_NICE_USER; rv[ 5] = cpu.nice_user;
|
|
||||||
diff --git a/lib/os_mon/src/cpu_sup.erl b/lib/os_mon/src/cpu_sup.erl
|
|
||||||
index 81e049ef22..ba2d89313e 100644
|
|
||||||
--- a/lib/os_mon/src/cpu_sup.erl
|
|
||||||
+++ b/lib/os_mon/src/cpu_sup.erl
|
|
||||||
@@ -220,17 +220,21 @@ code_change(_OldVsn, State, _Extra) ->
|
|
||||||
%% internal functions
|
|
||||||
%%----------------------------------------------------------------------
|
|
||||||
|
|
||||||
-get_uint32_measurement(Request, #internal{os_type = {unix, linux}}) ->
|
|
||||||
- {ok,F} = file:open("/proc/loadavg",[read,raw]),
|
|
||||||
- {ok,D} = file:read_line(F),
|
|
||||||
- ok = file:close(F),
|
|
||||||
- {ok,[Load1,Load5,Load15,_PRun,PTotal],_} = io_lib:fread("~f ~f ~f ~d/~d", D),
|
|
||||||
- case Request of
|
|
||||||
- ?avg1 -> sunify(Load1);
|
|
||||||
- ?avg5 -> sunify(Load5);
|
|
||||||
- ?avg15 -> sunify(Load15);
|
|
||||||
- ?ping -> 4711;
|
|
||||||
- ?nprocs -> PTotal
|
|
||||||
+get_uint32_measurement(Request, #internal{port = P, os_type = {unix, linux}}) ->
|
|
||||||
+ case file:open("/proc/loadavg",[read,raw]) of
|
|
||||||
+ {ok,F} ->
|
|
||||||
+ {ok,D} = file:read_line(F),
|
|
||||||
+ ok = file:close(F),
|
|
||||||
+ {ok,[Load1,Load5,Load15,_PRun,PTotal],_} = io_lib:fread("~f ~f ~f ~d/~d", D),
|
|
||||||
+ case Request of
|
|
||||||
+ ?avg1 -> sunify(Load1);
|
|
||||||
+ ?avg5 -> sunify(Load5);
|
|
||||||
+ ?avg15 -> sunify(Load15);
|
|
||||||
+ ?ping -> 4711;
|
|
||||||
+ ?nprocs -> PTotal
|
|
||||||
+ end;
|
|
||||||
+ {error,_} ->
|
|
||||||
+ port_server_call(P, Request)
|
|
||||||
end;
|
|
||||||
get_uint32_measurement(Request, #internal{port = P, os_type = {unix, Sys}}) when
|
|
||||||
Sys == sunos;
|
|
@ -1,7 +1,7 @@
|
|||||||
diff -u -r ../otp-OTP-21.0.5/lib/crypto/c_src/otp_test_engine.c ./lib/crypto/c_src/otp_test_engine.c
|
diff -u -r ../otp-OTP-21.2.1/lib/crypto/c_src/otp_test_engine.c ./lib/crypto/c_src/otp_test_engine.c
|
||||||
--- ../otp-OTP-21.0.5/lib/crypto/c_src/otp_test_engine.c 2018-08-10 17:02:51.000000000 +0000
|
--- ../otp-OTP-21.2.1/lib/crypto/c_src/otp_test_engine.c 2018-12-20 12:27:00.000000000 +0000
|
||||||
+++ ./lib/crypto/c_src/otp_test_engine.c 2018-08-23 22:15:50.757486039 +0000
|
+++ ./lib/crypto/c_src/otp_test_engine.c 2018-12-28 22:18:50.617050960 +0000
|
||||||
@@ -41,7 +41,8 @@
|
@@ -46,7 +46,8 @@
|
||||||
#if OPENSSL_VERSION_NUMBER >= PACKED_OPENSSL_VERSION(0,9,8,'o') \
|
#if OPENSSL_VERSION_NUMBER >= PACKED_OPENSSL_VERSION(0,9,8,'o') \
|
||||||
&& !defined(OPENSSL_NO_EC) \
|
&& !defined(OPENSSL_NO_EC) \
|
||||||
&& !defined(OPENSSL_NO_ECDH) \
|
&& !defined(OPENSSL_NO_ECDH) \
|
||||||
@ -11,3 +11,21 @@ diff -u -r ../otp-OTP-21.0.5/lib/crypto/c_src/otp_test_engine.c ./lib/crypto/c_s
|
|||||||
# define HAVE_EC
|
# define HAVE_EC
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -375,7 +376,7 @@
|
||||||
|
} */
|
||||||
|
|
||||||
|
if ((sizeof(fake_flag) == m_len)
|
||||||
|
- && bcmp(m,fake_flag,m_len) == 0) {
|
||||||
|
+ && memcmp(m,fake_flag,m_len) == 0) {
|
||||||
|
printf("To be faked\r\n");
|
||||||
|
/* To be faked */
|
||||||
|
slen = RSA_size(rsa);
|
||||||
|
@@ -397,7 +398,7 @@
|
||||||
|
printf("test_rsa_verify (dtype=%i) called m_len=%u siglen=%u\r\n", dtype, m_len, siglen);
|
||||||
|
|
||||||
|
if ((sizeof(fake_flag) == m_len)
|
||||||
|
- && bcmp(m,fake_flag,m_len) == 0) {
|
||||||
|
+ && memcmp(m,fake_flag,m_len) == 0) {
|
||||||
|
printf("To be faked\r\n");
|
||||||
|
return (siglen == RSA_size(rsa))
|
||||||
|
&& chk_test_data(sigret, siglen);
|
||||||
|
Loading…
Reference in New Issue
Block a user