848929c85f
--------------------------------------------------------------------- --- HIGHLIGHTS ------------------------------------------------------ --------------------------------------------------------------------- OTP-13468 Application(s): erts, sasl New counters and atomics modules supplies access to highly efficient operations on mutable fixed word sized variables. OTP-14669 Application(s): erts Related Id(s): PR-1989 There is a new module persistent_term that implements a term storage suitable for terms that are frequently used but never or infrequently updated. Lookups are done in constant time without copying the terms. OTP-15094 Application(s): ssh Related Id(s): OTP-15419 Added public key methods ssh-ed25519 and ssh-ed448. Requires OpenSSL 1.1.1 or higher as cryptolib under the OTP application crypto. OTP-15449 Application(s): ssl *** POTENTIAL INCOMPATIBILITY *** ssl now uses active n internally to boost performance. Old active once behavior can be restored by setting application variable see manual page for ssl application (man 6). OTP-15475 Application(s): erts Related Id(s): ERIERL-229 Add a new pollset that is made to handle sockets that use {active, true} or {active, N}. The new pollset will not be polled by a pollthread, but instead polled by a normal scheduler. This change was made because of the overhead associated with constantly having to re-apply the ONESHOT mechanism on fds that all input events were interesting. The new pollset is only active on platforms that support concurrent kernel poll updates, i.e. Linux and BSD. --------------------------------------------------------------------- --- POTENTIAL INCOMPATIBILITIES ------------------------------------- --------------------------------------------------------------------- OTP-15364 Application(s): kernel A new function, logger:update_handler_config/3 is added, and the handler callback changing_config now has a new argument, SetOrUpdate, which indicates if the configuration change comes from set_handler_config/2,3 or update_handler_config/2,3. This allows the handler to consistently merge the new configuration with the old (if the change comes from update_handler_config/2,3) or with the default (if the change comes from set_handler_config/2,3). The built-in handlers logger_std_h and logger_disk_log_h are updated accordingly. A bug which could cause inconsistency between the handlers' internal state and the stored configuration is also corrected. OTP-15449 Application(s): ssl *** HIGHLIGHT *** ssl now uses active n internally to boost performance. Old active once behavior can be restored by setting application variable see manual page for ssl application (man 6). --------------------------------------------------------------------- --- asn1-5.0.8 ------------------------------------------------------ --------------------------------------------------------------------- The asn1-5.0.8 application can be applied independently of other applications on a full OTP 21 installation. --- Fixed Bugs and Malfunctions --- OTP-15470 Application(s): asn1 Related Id(s): ERIERL-278 Handle erroneous length during decode (BER only) without crashing. Full runtime dependencies of asn1-5.0.8: erts-7.0, kernel-3.0, stdlib-2.0 --------------------------------------------------------------------- --- compiler-7.3 ---------------------------------------------------- --------------------------------------------------------------------- The compiler-7.3 application can be applied independently of other applications on a full OTP 21 installation. --- Fixed Bugs and Malfunctions --- OTP-15400 Application(s): compiler Related Id(s): ERL-759 Fixed a rare internal consistency failure caused by a bug in the beam_jump pass. (Thanks to Simon Cornish for reporting this bug.) OTP-15435 Application(s): compiler Related Id(s): ERL-778 The compiler could fail with an internal consistency check failure when compiling code that used the is_function/2 BIF. OTP-15437 Application(s): compiler, stdlib Related Id(s): ERL-762 When an external fun was used, warnings for unused variables could be suppressed. OTP-15481 Application(s): compiler The compiler would crash when compiling an after block that called erlang:raise/3 like this: erlang:raise(Class, Stacktrace, Stacktrace) --- Improvements and New Features --- OTP-15245 Application(s): compiler, stdlib Related Id(s): ERL-706 When specified, the +{source,Name} option will now override the actual file name in stack traces, instead of only affecting the return value of Mod:module_info(). The +deterministic flag will also affect stack traces now, omitting all path information except the file name, fixing a long-standing issue where deterministic builds required deterministic paths. Full runtime dependencies of compiler-7.3: crypto-3.6, erts-9.0, hipe-3.12, kernel-4.0, stdlib-2.5 --------------------------------------------------------------------- --- crypto-4.4 ------------------------------------------------------ --------------------------------------------------------------------- The crypto-4.4 application can be applied independently of other applications on a full OTP 21 installation. --- Fixed Bugs and Malfunctions --- OTP-15302 Application(s): crypto Updated the RSA options part in the crypto application's C-code, documentation and tests. --- Improvements and New Features --- OTP-15419 Application(s): crypto, public_key Related Id(s): OTP-15094 Added ed25519 and ed448 sign/verify. Requires OpenSSL 1.1.1 or higher as cryptolib under the OTP application crypto. OTP-15467 Application(s): crypto Fixed valgrind warnings. Full runtime dependencies of crypto-4.4: erts-9.0, kernel-5.3, stdlib-3.4 --------------------------------------------------------------------- --- erts-10.2 ------------------------------------------------------- --------------------------------------------------------------------- Note! The erts-10.2 application can *not* be applied independently of other applications on an arbitrary OTP 21 installation. On a full OTP 21 installation, also the following runtime dependencies have to be satisfied: -- kernel-6.1 (first satisfied in OTP 21.1) -- sasl-3.3 (first satisfied in OTP 21.2) --- Fixed Bugs and Malfunctions --- OTP-12242 Application(s): erts Related Id(s): ERL-561 When a process was waiting for a TCP socket send operation to complete, and another process closed the socket during that send, the sending process could hang. This bug has now been corrected. OTP-15343 Application(s): erts, stdlib Related Id(s): PR-1962 Document bit_size in match specifications and allow it in ets:fun2ms. OTP-15346 Application(s): erts Fixed bug in ets:select_replace when called with a fully bound key could cause a following call to ets:next or ets:prev to crash the emulator or return invalid result. OTP-15360 Application(s): erts When a module has been purged from memory, any literals belonging to that module will be copied to all processes that hold references to them. The max heap size limit would be ignored in the garbage collection initiated when copying literals to a process. If the max heap size was exceeded, the process would typically be terminated in the following garbage collection. Corrected to terminate the process directly if copying a literal would exceed the max heap size. OTP-15389 Application(s): erts Fix compilation of run_erl on Solaris 11.4 and later. OTP-15436 Application(s): erts Fixed a bug where lists:reverse/1-2 could use far too many reductions. This bug was introduced in OTP 21.1. OTP-15446 Application(s): erts Related Id(s): PR-2024 Fixed a bug where a dirty scheduler could stay awake forever if a distribution entry was removed as part of a dirty GC. OTP-15450 Application(s): erts Related Id(s): ERIERL-229 Fix microstate accounting handing in various places. Most importantly the GC states when the GC is run on a dirty scheduler are now managed correctly. OTP-15461 Application(s): erts Related Id(s): ERL-784 Fixed bug in file:sendfile when the send operation failed. For sockets in active modes it could cause emulator crash or a hanging call. For sockets with {active,false} an unexpected {inet_reply, _, _} message could be sent to the calling process. The bug exists since OTP-21.0. OTP-15465 Application(s): erts The erts configure script has been updated to reject any CFLAGS that does not have -O. This in order to prevent the common mistake of forgetting to add -O2 to custom CFLAGS. OTP-15474 Application(s): erts, stdlib Related Id(s): ERIERL-229 Fix reduction count in lists:member/2 --- Improvements and New Features --- OTP-13468 Application(s): erts, sasl *** HIGHLIGHT *** New counters and atomics modules supplies access to highly efficient operations on mutable fixed word sized variables. OTP-14669 Application(s): erts Related Id(s): PR-1989 *** HIGHLIGHT *** There is a new module persistent_term that implements a term storage suitable for terms that are frequently used but never or infrequently updated. Lookups are done in constant time without copying the terms. OTP-15121 Application(s): erts, kernel Related Id(s): ERIERL-189, PR-1974 A function inet:getifaddrs/1 that takes a list with a namespace option has been added, for platforms that support that feature, for example Linux (only?). OTP-15357 Application(s): erts, kernel Related Id(s): ERL-698 Added the nopush option for TCP sockets, which corresponds to TCP_NOPUSH on *BSD and TCP_CORK on Linux. This is also used internally in file:sendfile to reduce latency on subsequent send operations. OTP-15371 Application(s): erts, stdlib List subtraction (The -- operator) will now yield properly on large inputs. OTP-15471 Application(s): erts, kernel Related Id(s): ERIERL-229 Optimize handling of send_delay for tcp sockes to better work with the new pollthread implementation introduced in OTP-21. OTP-15472 Application(s): erts Related Id(s): ERIERL-229 Optimize driver_set_timer with a zero timeout to short-circuit and not create any timer structure, but instead schedule the timer immediately. OTP-15473 Application(s): erts Related Id(s): ERIERL-229 Add erl_xcomp_code_model_small as a cross configure variable in order to let the emulator be build with the assumption that a small code model will be used on the target machine. OTP-15475 Application(s): erts Related Id(s): ERIERL-229 *** HIGHLIGHT *** Add a new pollset that is made to handle sockets that use {active, true} or {active, N}. The new pollset will not be polled by a pollthread, but instead polled by a normal scheduler. This change was made because of the overhead associated with constantly having to re-apply the ONESHOT mechanism on fds that all input events were interesting. The new pollset is only active on platforms that support concurrent kernel poll updates, i.e. Linux and BSD. OTP-15478 Application(s): erts Related Id(s): ERL-741 Fix bug where emulator would segfault if a literal message was sent when sequence tracing was enabled. Full runtime dependencies of erts-10.2: kernel-6.1, sasl-3.3, stdlib-3.5 --------------------------------------------------------------------- --- et-1.6.4 -------------------------------------------------------- --------------------------------------------------------------------- The et-1.6.4 application can be applied independently of other applications on a full OTP 21 installation. --- Fixed Bugs and Malfunctions --- OTP-15463 Application(s): et Related Id(s): ERL-780 The scroll bar of the et_viewer window could not be dragged all the way to the top of the window. It would always stop at the second event. This is now corrected. Full runtime dependencies of et-1.6.4: erts-9.0, kernel-5.3, runtime_tools-1.10, stdlib-3.4, wx-1.2 --------------------------------------------------------------------- --- hipe-3.18.2 ----------------------------------------------------- --------------------------------------------------------------------- The hipe-3.18.2 application can be applied independently of other applications on a full OTP 21 installation. --- Improvements and New Features --- OTP-15482 Application(s): hipe The code was updated to avoid causing a dialyzer warning because of a tightened spec for beam_lib:info/1. Full runtime dependencies of hipe-3.18.2: compiler-5.0, erts-9.3, kernel-5.3, stdlib-3.4, syntax_tools-1.6.14 --------------------------------------------------------------------- --- inets-7.0.3 ----------------------------------------------------- --------------------------------------------------------------------- The inets-7.0.3 application can be applied independently of other applications on a full OTP 21 installation. --- Fixed Bugs and Malfunctions --- OTP-15338 Application(s): inets Related Id(s): ERL-733 Fixed http client to not send 'content-length' header in chunked encoded requests. OTP-15339 Application(s): inets Related Id(s): ERL-736 Fixed http client to not drop explicit 'Content-Type' header in requests without a body such as requests with the 'Content-Type' of application/x-www-form-urlencoded. Full runtime dependencies of inets-7.0.3: erts-6.0, kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5 --------------------------------------------------------------------- --- kernel-6.2 ------------------------------------------------------ --------------------------------------------------------------------- Note! The kernel-6.2 application can *not* be applied independently of other applications on an arbitrary OTP 21 installation. On a full OTP 21 installation, also the following runtime dependency has to be satisfied: -- erts-10.1 (first satisfied in OTP 21.1) --- Fixed Bugs and Malfunctions --- OTP-15364 Application(s): kernel *** POTENTIAL INCOMPATIBILITY *** A new function, logger:update_handler_config/3 is added, and the handler callback changing_config now has a new argument, SetOrUpdate, which indicates if the configuration change comes from set_handler_config/2,3 or update_handler_config/2,3. This allows the handler to consistently merge the new configuration with the old (if the change comes from update_handler_config/2,3) or with the default (if the change comes from set_handler_config/2,3). The built-in handlers logger_std_h and logger_disk_log_h are updated accordingly. A bug which could cause inconsistency between the handlers' internal state and the stored configuration is also corrected. OTP-15388 Application(s): kernel Related Id(s): PR-1983 Fix fallback when custom erl_epmd client does not implement address_please. OTP-15453 Application(s): kernel Related Id(s): ERL-782 The logger ets table did not have the read_concurrency option. This is now added. OTP-15466 Application(s): kernel Related Id(s): ERL-788 During system start, logger has a simple handler which prints to stdout. After the kernel supervision is started, this handler is removed and replaced by the default handler. Due to a bug, logger earlier issued a debug printout saying it received an unexpected message, which was the EXIT message from the simple handler's process. This is now corrected. The simple handler's process now unlinks from the logger process before terminating. OTP-15469 Application(s): kernel The logger handler logger_std_h would not re-create it's log file if it was removed. Due to this it could not be used with tools like 'logrotate'. This is now corrected. --- Improvements and New Features --- OTP-15121 Application(s): erts, kernel Related Id(s): ERIERL-189, PR-1974 A function inet:getifaddrs/1 that takes a list with a namespace option has been added, for platforms that support that feature, for example Linux (only?). OTP-15357 Application(s): erts, kernel Related Id(s): ERL-698 Added the nopush option for TCP sockets, which corresponds to TCP_NOPUSH on *BSD and TCP_CORK on Linux. This is also used internally in file:sendfile to reduce latency on subsequent send operations. OTP-15471 Application(s): erts, kernel Related Id(s): ERIERL-229 Optimize handling of send_delay for tcp sockes to better work with the new pollthread implementation introduced in OTP-21. Full runtime dependencies of kernel-6.2: erts-10.1, sasl-3.0, stdlib-3.5 --------------------------------------------------------------------- --- observer-2.8.2 -------------------------------------------------- --------------------------------------------------------------------- The observer-2.8.2 application can be applied independently of other applications on a full OTP 21 installation. --- Fixed Bugs and Malfunctions --- OTP-15365 Application(s): observer Related Id(s): ERL-722 Literals such as #{"one"=>1} dumped to a crash dump would cause crashdump_viewer to crash. OTP-15377 Application(s): observer crashdump_viewer would sometimes crash when processing a dump which was truncated in the literals area. This is now corrected. OTP-15391 Application(s): observer Since OTP-20.2, crashdump_viewer was very slow when opening a crash dump with many processes. An ets:select per process could be removed, which improved the performance a lot. A bug when parsing heap data in a crashdump caused crashdump_viewer to crash when multiple Yc lines referenced the same reference counted binary. This is now corrected. Full runtime dependencies of observer-2.8.2: erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-3.5, wx-1.2 --------------------------------------------------------------------- --- os_mon-2.4.7 ---------------------------------------------------- --------------------------------------------------------------------- The os_mon-2.4.7 application can be applied independently of other applications on a full OTP 21 installation. --- Fixed Bugs and Malfunctions --- OTP-15387 Application(s): os_mon Related Id(s): PR-1966 Due to /proc restrictions in newer Android releases enforced by SELinux, cpu_sup is fixed so that it gets some basic CPU stats using the sysinfo syscall rather than reading /proc/loadavg. Full runtime dependencies of os_mon-2.4.7: erts-6.0, kernel-3.0, mnesia-4.12, otp_mibs-1.0.9, sasl-2.4, snmp-4.25.1, stdlib-2.0 --------------------------------------------------------------------- --- public_key-1.6.4 ------------------------------------------------ --------------------------------------------------------------------- The public_key-1.6.4 application can be applied independently of other applications on a full OTP 21 installation. --- Improvements and New Features --- OTP-15419 Application(s): crypto, public_key Related Id(s): OTP-15094 Added ed25519 and ed448 sign/verify. Requires OpenSSL 1.1.1 or higher as cryptolib under the OTP application crypto. Full runtime dependencies of public_key-1.6.4: asn1-3.0, crypto-3.8, erts-6.0, kernel-3.0, stdlib-3.5 --------------------------------------------------------------------- --- reltool-0.7.8 --------------------------------------------------- --------------------------------------------------------------------- The reltool-0.7.8 application can be applied independently of other applications on a full OTP 21 installation. --- Fixed Bugs and Malfunctions --- OTP-15454 Application(s): reltool Reltool would earlier erroneously split paths like "c:\foo" into ["c","\foo"] when reading the $ERL_LIBS variable on windows. This is now corrected. Full runtime dependencies of reltool-0.7.8: erts-7.0, kernel-3.0, sasl-2.4, stdlib-3.4, tools-2.6.14, wx-1.2 --------------------------------------------------------------------- --- sasl-3.3 -------------------------------------------------------- --------------------------------------------------------------------- Note! The sasl-3.3 application can *not* be applied independently of other applications on an arbitrary OTP 21 installation. On a full OTP 21 installation, also the following runtime dependency has to be satisfied: -- erts-10.2 (first satisfied in OTP 21.2) --- Improvements and New Features --- OTP-13468 Application(s): erts, sasl *** HIGHLIGHT *** New counters and atomics modules supplies access to highly efficient operations on mutable fixed word sized variables. Full runtime dependencies of sasl-3.3: erts-10.2, kernel-5.3, stdlib-3.4, tools-2.6.14 --------------------------------------------------------------------- --- ssh-4.7.2 ------------------------------------------------------- --------------------------------------------------------------------- The ssh-4.7.2 application can be applied independently of other applications on a full OTP 21 installation. --- Fixed Bugs and Malfunctions --- OTP-15413 Application(s): ssh Incompatibility with newer OpenSSH fixed. Previously versions 7.8 and later could cause Erlang SSH to exit. OTP-15416 Application(s): ssh The 'exec' option for ssh daemons had wrong format in the documentation. --- Improvements and New Features --- OTP-15094 Application(s): ssh Related Id(s): OTP-15419 *** HIGHLIGHT *** Added public key methods ssh-ed25519 and ssh-ed448. Requires OpenSSL 1.1.1 or higher as cryptolib under the OTP application crypto. OTP-15312 Application(s): ssh The SSH property tests are now adapted to the PropEr testing tool. OTP-15314 Application(s): ssh The term "user" was not documented in the SSH app. A new chapter with terminology is added to the User's Manual where the term "user" is defined. A reference manual page about the module ssh_file is also added. This is the default callback module for user's keys, host keys etc. OTP-15424 Application(s): ssh Host and user key checking is made more robust. Full runtime dependencies of ssh-4.7.2: crypto-4.2, erts-6.0, kernel-3.0, public_key-1.5.2, stdlib-3.3 --------------------------------------------------------------------- --- ssl-9.1 --------------------------------------------------------- --------------------------------------------------------------------- The ssl-9.1 application can be applied independently of other applications on a full OTP 21 installation. --- Fixed Bugs and Malfunctions --- OTP-15368 Application(s): ssl PEM cache was not evicting expired entries due to due to timezone confusion. OTP-15384 Application(s): ssl Related Id(s): ERL-756 Make sure an error is returned if a "transport_accept socket" is used in some other call than ssl:handshake* or ssl:controlling_process OTP-15402 Application(s): ssl Fix timestamp handling in the PEM-cache could cause entries to not be invalidated at the correct time. OTP-15412 Application(s): ssl Related Id(s): ERL-731 Extend check for undelivered data at closing, could under some circumstances fail to deliver all data that was actually received. OTP-15415 Application(s): ssl Related Id(s): ERL-763 Correct signature check for TLS-1.2 that allows different algorithms for signature of peer cert and peer cert key. Not all allowed combinations where accepted. OTP-15418 Application(s): ssl Related Id(s): ERL-770 Correct gen_statem return value, could cause renegotiation to fail. --- Improvements and New Features --- OTP-15420 Application(s): ssl Related Id(s): ERIERL-268 Add engine support for RSA key exchange OTP-15449 Application(s): ssl *** HIGHLIGHT *** *** POTENTIAL INCOMPATIBILITY *** ssl now uses active n internally to boost performance. Old active once behavior can be restored by setting application variable see manual page for ssl application (man 6). Full runtime dependencies of ssl-9.1: crypto-4.2, erts-10.0, inets-5.10.7, kernel-6.0, public_key-1.5, stdlib-3.5 --------------------------------------------------------------------- --- stdlib-3.7 ------------------------------------------------------ --------------------------------------------------------------------- The stdlib-3.7 application can be applied independently of other applications on a full OTP 21 installation. --- Fixed Bugs and Malfunctions --- OTP-15343 Application(s): erts, stdlib Related Id(s): PR-1962 Document bit_size in match specifications and allow it in ets:fun2ms. OTP-15378 Application(s): stdlib Related Id(s): ERL-696 The beam() type in beam_lib is defined as module() | file:filename() | binary(). The module() is misleading. Giving the module name as an atom will only work if the BEAM file is in a current directory. To avoid confusion, module() has been removed from the type. That means that there will be a Dialyzer warning for code that call beam_lib with an atom as filename, but the calls will still work. OTP-15428 Application(s): stdlib Related Id(s): ERL-777 unicode_util crashed on certain emoji grapheme clusters in binary strings. OTP-15437 Application(s): compiler, stdlib Related Id(s): ERL-762 When an external fun was used, warnings for unused variables could be suppressed. OTP-15474 Application(s): erts, stdlib Related Id(s): ERIERL-229 Fix reduction count in lists:member/2 --- Improvements and New Features --- OTP-15245 Application(s): compiler, stdlib Related Id(s): ERL-706 When specified, the +{source,Name} option will now override the actual file name in stack traces, instead of only affecting the return value of Mod:module_info(). The +deterministic flag will also affect stack traces now, omitting all path information except the file name, fixing a long-standing issue where deterministic builds required deterministic paths. OTP-15371 Application(s): erts, stdlib List subtraction (The -- operator) will now yield properly on large inputs. OTP-15464 Application(s): stdlib calendar:system_time_to_rfc3339/1,2 no longer remove trailing zeros from fractions. Full runtime dependencies of stdlib-3.7: compiler-5.0, crypto-3.3, erts-10.0, kernel-6.0, sasl-3.0 --------------------------------------------------------------------- --- tools-3.0.2 ----------------------------------------------------- --------------------------------------------------------------------- The tools-3.0.2 application can be applied independently of other applications on a full OTP 21 installation. --- Improvements and New Features --- OTP-15476 Application(s): tools Remove emacs warnings and added more tests. Full runtime dependencies of tools-3.0.2: compiler-5.0, erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4 --------------------------------------------------------------------- --- wx-1.8.6 -------------------------------------------------------- --------------------------------------------------------------------- The wx-1.8.6 application can be applied independently of other applications on a full OTP 21 installation. --- Fixed Bugs and Malfunctions --- OTP-15426 Application(s): wx Related Id(s): ERL-755 Fixed delayed delete bug which caused wx applications to crash on Mojave. Full runtime dependencies of wx-1.8.6: erts-6.0, kernel-3.0, stdlib-2.0 --------------------------------------------------------------------- --------------------------------------------------------------------- ---------------------------------------------------------------------
16 lines
448 B
C
16 lines
448 B
C
$NetBSD: patch-erts_etc_unix_run__erl.c,v 1.2 2019/01/03 22:58:36 nia Exp $
|
|
|
|
Fix SunOS/C99.
|
|
|
|
--- erts/etc/unix/run_erl.c.orig 2018-12-10 20:11:00.000000000 +0000
|
|
+++ erts/etc/unix/run_erl.c
|
|
@@ -41,6 +41,9 @@
|
|
#ifdef HAVE_CONFIG_H
|
|
# include "config.h"
|
|
#endif
|
|
+#ifdef __sun
|
|
+#define __EXTENSIONS__
|
|
+#endif
|
|
#ifdef HAVE_WORKING_POSIX_OPENPT
|
|
# ifndef _XOPEN_SOURCE
|
|
/* On OS X, BSD and Solaris, we must leave _XOPEN_SOURCE undefined in order
|