aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2016-11-19Add an option erlang-icr-indentVictor Ren
The option makes it possible to customize the indention of if/case/recieve patterns. Before the change, the indentation of 'if' patterns is 3 steps and 'case' patterns is 4 steps. It cannot be changed alone. Some people prefer other styles, for example, zero indentation. case a of true -> do_something(); false -> do_something_else() end. This patch just adds an option `erlang-icr-indent'. Its default value is `nil' which means keeping the legacy behavior. When non-nil, the pattens of if/case/receive are indented according to `erlang-icr-indent'. "(setq erlang-icr-indent 0)" will keep if/case/receive at the same column of the sub-clauses. Change-Id: I10c32e42dbf69cbe187f55223b9aa7824853e493
2016-11-11Merge branch 'peppe/common_test/fix_default_gl/ERL-279/OTP-13973' into maintPeter Andersson
* peppe/common_test/fix_default_gl/ERL-279/OTP-13973: Fix problem with printouts to incorrect parent group leader OTP-13973
2016-11-10Merge branch 'margnus1/hipe_llvm39_bugs/PR-1237/OTP-14027/OTP-14028' into maintSverker Eriksson
* margnus1/hipe_llvm39_bugs/PR-1237: hipe_rtl_to_llvm: Constants for bits per byte/word hipe_llvm: Work around LLVM 3.9 sdesc bug hipe_llvm: Fix incorrect atom alignment assumption
2016-11-10ssl: Use SHA2 for signing ECC certs if possibleIngela Anderton Andin
ECC certs should preferably use SHA2, this is what we want to be testing. Also assembling of all available test suites must consider TLS version.
2016-11-09Merge branch 'ingela/ssl/tune-timeouts-packet_SUITE' into maintIngela Anderton Andin
* ingela/ssl/tune-timeouts-packet_SUITE: ssl: Change to more modest timeouts
2016-11-09Merge branch 'ingela/ssl/ECC-faulty-workaround' into maintIngela Anderton Andin
* ingela/ssl/ECC-faulty-workaround: ssl: Remove faulty workaround
2016-11-09ssl: Remove faulty workaroundIngela Anderton Andin
We where never really satisfied with this workaround it was a bit far fetched, so we are pleased to be able to remove it.
2016-11-09Merge branch ↵Raimo Niskanen
'gomoripeti/kernel/controlling_proc_badarg_doc/PR-1208/OTP-14022' into maint * gomoripeti/kernel/controlling_proc_badarg_doc/PR-1208/OTP-14022: controlling_process can return {error, badarg}
2016-11-08hipe_rtl_to_llvm: Constants for bits per byte/wordMagnus Lång
The constant ?WORD_WIDTH is renamed ?BITS_IN_WORD, and a new constant ?BITS_IN_BYTE is introduced. Additionally, a bug in a currently unused case clause of llvm_type_from_size/1 is fixed (the size of a word was hardcoded to 64 bits).
2016-11-08Merge branch 'raimo/gen_statem-improvements/OTP-13929' into maintRaimo Niskanen
* raimo/gen_statem-improvements/OTP-13929: Log terminate to sys debug Optimize event timeout Rework timeout handling Clarify the chapter 'Postponing Events' (ERL-284) Fix doc and type for state enter calls
2016-11-08Merge branch 'jxck/fix-doc-typo/PR-1238' into maintBjörn-Egil Dahlberg
* jxck/fix-doc-typo/PR-1238: fix typo on doc of maps
2016-11-08Merge branch 'leoliu/tools/emacs-erldoc/PR-1197/OTP-14018' into maintDan Gudmundsson
* leoliu/tools/emacs-erldoc/PR-1197/OTP-14018: New commands to ease looking up OTP documentation
2016-11-08fix typo on doc of mapsJxck
typo
2016-11-07hipe_llvm: Work around LLVM 3.9 sdesc bugMagnus Lång
As of LLVM 3.9, the x86-call-frame-opt pass in LLVM's X86 backend causes the stack descriptors to contain incorrect (or even negative) frame sizes or root slot offsets. This might cause LLVM-compiled modules to be rejected during loading with a badarg exception in hipe_bifs:enter_sdecs/1 (which additionally prints a "hipe_bifs_enter_sdesc_1: bad sdesc!" message to stderr), or it might cause corruption or segmentation faults when walking stacks (f.ex. during GC) containing frames compiled with ErLLVM. As a workaround, we pass the -no-x86-call-frame-opt flag to llc when the version is at least 3.9
2016-11-07hipe_llvm: Fix incorrect atom alignment assumptionMagnus Lång
ErLLVM was declaring atoms in the following manner: @atom_ok = external constant i64 ; Used inside a function like this %var = ptrtoint i64* @atom_ok to i64 However, doing so makes LLVM think the `atom_ok` is 8-byte aligned, since it refers to a i64 value. This resulted in LLVM occasionally incorrectly optimising away type tests on atoms, causing incorrect behaviour or even segfaults. One such case is in bs_match_compiler:coverage_apply/2, in which an is_boxed test on a literal atom was optimised away, causing the code to try and load the "header" of an atom. This problem reproduces with LLVM versions 3.7 through 3.9. By declaring atoms as i8 (byte) constants instead, LLVM no longer makes these alignment assumptions, and the bug is fixed.
2016-11-07Merge branch 'kostis/hipe-bs_match_string/PR-1234/OTP-14005' into maintSverker Eriksson
* kostis/hipe-bs_match_string/PR-1234/OTP-14005: Add a test case that should now work Fix the native code translation of bs_match_string
2016-11-07Merge branch 'ferd/ssl-allow-ecc-config/PR-1210/OTP-13959' into maintIngela Anderton Andin
* ferd/ssl-allow-ecc-config/PR-1210/OTP-13959: Add ECC curve selection order config in TLS server
2016-11-07Merge branch 'egil/erts/cuddle-tests' into maintBjörn-Egil Dahlberg
* egil/erts/cuddle-tests: stdlib: Increase timeouts in ets_SUITE stdlib: Increase timeouts in rand_SUITE stdlib: Increase timeouts in base64_SUITE erts: Use cmd on windows for port_SUITE
2016-11-04stdlib: Increase timeouts in ets_SUITEBjörn-Egil Dahlberg
* valgrind needs lots of time
2016-11-04stdlib: Increase timeouts in rand_SUITEBjörn-Egil Dahlberg
* valgrind needs lots of time
2016-11-04stdlib: Increase timeouts in base64_SUITEBjörn-Egil Dahlberg
* valgrind needs lots of time
2016-11-03Add a test case that should now workKostis Sagonas
2016-11-03Fix the native code translation of bs_match_stringKostis Sagonas
This fixes a HiPE bug reported on erlang-questions on 2/11/2016. The BEAM to ICode tranaslation of the bs_match_string instruction, written long ago for binaries (i.e., with byte-sized strings), tried to do a `clever' translation of even bit-sized strings using a HiPE primop that took a `Size' argument expressed in *bytes*. ICode is not really the place to do such a thing, and moreover there is really no reason for the HiPE primop not to take a Size argument expressed in *bits* instead. This commit changes the `Size' argument to be in bits, postpones the translation of the bs_match_string primop Fixed in a pair-programming/debugging session with @margnus1. until RTL and does a proper translation using bit-sized quantities there.
2016-11-03Merge branch 'sverker/kernel-erts-dependency/OTP-14003' into maintSverker Eriksson
* sverker/kernel-erts-dependency: kernel: Add lost dependency to erts-8.1
2016-11-02Add ECC curve selection order config in TLS serverFred Hebert
As per RFC 4492 Sec 5.1, the preferred order of selection of named curves is based on client preferences. Currently, the SSL application only picks entries according to the absolute order of entries as tracked in a hardcoded list in code. This patch changes things so that the client-specified order is preferred. It also allows a mode where the server can be configured to override the client's preferred order with its own, although the chosen ECC must still be within both lists. The configuration is done through the following options: - `eccs`, shared by clients and servers alike, allows the specification of the supported named curves, in their preferred order, and may eventually support more values for explicit primes and so on. - `honor_ecc_order`, a server-only option, is similar to `honor_cipher_order` and will, by default let the server pick the client-preferred ECC, and otherwise pick the server-preferred one. The default value for `eccs` is the same as before, although the server-chosen ECC now defaults to the client rather than previous choice. A function `ssl:eccs()` has been added that returns the highest supported ECCs for the library.
2016-11-02Merge branch 'hasse/erts/fix_match_spec_head/OTP-13996' into maintHans Bolinder
* hasse/erts/fix_match_spec_head/OTP-13996: Update preloaded erts: Correct type declaration of match specification head
2016-11-02Merge branch 'roadrunnr/tools/fprof-send-non-exist/PR-1201/OTP-13998' into maintLukas Larsson
* roadrunnr/tools/fprof-send-non-exist/PR-1201/OTP-13998: handle send_to_non_existing_process trace event in fprof
2016-11-01Merge remote-tracking branch 'github/pr/1219' into maintIngela Anderton Andin
* github/pr/1219: Correct spelling error in ssl_distribution.xml
2016-11-01Merge branch 'hans/ssh/cuddle_tests_maint' into maintHans Nilsson
2016-11-01erts: Correct type declaration of match specification headHans Bolinder
Bug reported by Peti Gömöri <[email protected]>.
2016-10-31kernel: Add lost dependency to erts-8.1Sverker Eriksson
In OTP-19.1 (c70ca686fe269db6079a2ca1c7e09cdfc0cfa903) erts_code_purger:finish_after_on_load/2 was added and called by code_server.erl.
2016-10-31ssh: retry in ssh_options_SUITE:ssh_connect_negtimeout_*Hans Nilsson
2016-10-31ssh: make test more precise in ssh_to_openssh_SUITEHans Nilsson
2016-10-31Merge branch 'legoscia/kernel/clarify-permission-bits/PR-1204/OTP-13991' ↵Björn-Egil Dahlberg
into maint * legoscia/kernel/clarify-permission-bits/PR-1204/OTP-13991: Clarify permission bits in file.xml
2016-10-31Merge branch 'egil/mnesia/dont-tty-log-nodes' into maintBjörn-Egil Dahlberg
* egil/mnesia/dont-tty-log-nodes: mnesia: Don't show error_logger messages in tests
2016-10-31ssh: simplify test in ssh_to_openssh_SUITEHans Nilsson
2016-10-31ssh: skip erlang_server_openssh_client_renegotiate test on non-unixHans Nilsson
2016-10-31Merge branch 'hans/eldap/docfixes' into maintHans Nilsson
2016-10-31Merge branch 'hans/ssh/cuddle_tests_maint' into maintHans Nilsson
2016-10-31ssh: Removed tracing in ssh_to_openssh_SUITEHans Nilsson
2016-10-28ssh: test for rekey with OpenSSH serverHans Nilsson
2016-10-28ssh: move rekeying test to ssh_test_libHans Nilsson
2016-10-28eldap: cosmetic doc fixesHans Nilsson
2016-10-28ssh: change of test helper ssh_test_lib:start_shellHans Nilsson
2016-10-28ssh: increase timeout in test in ssh_options_SUITEHans Nilsson
Prevents timeout before the processing is done on slow machines
2016-10-27controlling_process can return {error, badarg}Péter Gömöri
For gen_tcp, gen_udp and gen_sctp controlling_process/2 can return badarg if erlang:port_connect/2 fails with badarg. This can easily happen if the new owner is not alive but in some race condition also when the socket is closed right before port_connect/2 (and after the previous socket function) This commit documents this behaviour.
2016-10-27Correct spelling error in ssl_distribution.xmlTrevor Brown
Correct "...an exra distribution..." to "...an extra distribution...".
2016-10-27ssh: trace all messages in ↵Hans Nilsson
ssh_to_openssh_SUITE:erlang_server_openssh_client_renegotiate/1
2016-10-27ssh: more info about shrinked binaries in ssh_dbgHans Nilsson
2016-10-27ssh: Add a 'catch' in ssh_channel.erl to prevent double close errorsHans Nilsson