aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2009-12-13OTP-8341 Minor alignment adjustments of scheduler specific data.Rickard Green
2009-12-13Test on_load functions that don't return 'ok'Björn Gustavsson
2009-12-13Change the expected return value for on_load functionsBjörn Gustavsson
An on_load function is supposed to return 'true' to indicate that the module should be loaded, and 'false' if it should be unloaded. But returning any other term, as well as causing an exception, will also unload the module. Since we don't like boolean values mixed with other values, change the expected return value as follows: * If 'ok' is returned, the module will remain loaded and become callable. * If any other value is returned (or an exception is generated), the module will be unloaded. Also, if the returned value is not an atom, send a warning message to the error_logger (using error_logger:warning_msg/2). The new interpretation of the return value means that an on_load function can now directly return the return value from erlang:load_nif/2.
2009-12-11beam_bool: Fix generation of code that does not validateBjörn Gustavsson
The following code (by Simon Cornish) bad(XDo1, XDo2, Do3) -> Do1 = (XDo1 =/= []), Do2 = (XDo2 =/= []), CH1 = if Do1 == true; Do1 == false,Do2==false,Do3 == blah -> ch1; true -> no end, CH2 = if Do1 == true; Do1 == false,Do2==false,Do3 == xx -> ch2; true -> no end, {CH1,CH2}. is optimized by beam_bool even though the optimization is not safe. The trouble is that an assignment to {y,0} no longer occurs on all paths leading to its use. The bug is in dst_regs/2 which is supposed to return a set of all registers assigned in a code block, but it ignores registers assigned in 'move' instructions. Fix the bug by taking 'move' instructions into account. This change is safe since it can only cause more registers to be added to the MustBeKilled and MustBeUnused sets in ensure_opt_safe/6, which means that it can only cause the optimization to be turned off for code that used to be optimized.
2009-12-11OTP-8323 Miscellaneous cross compilation improvements. For example, oneRickard Green
new mandatory configuration variable that replaces all other previously mandatory configuration variables, and better documentation. Note that old cross compilation configurations cannot be used without modifications. For more information see the $ERL_TOP/xcomp/README file.
2009-12-11Merge branch 'po/blowfish_ecb_cbc_ofb-rebased' into ccase/r13b04_devErlang/OTP
* po/blowfish_ecb_cbc_ofb-rebased: Add Blowfish tests Add Blowfish ECB, CBC and OFB modes OTP-8331 The crypto module now supports Blowfish in ECB, CBC and OFB modes. (Thanks to Paul Oliver.)
2009-12-11Add Blowfish testsPaul Oliver
2009-12-11Add Blowfish ECB, CBC and OFB modesPaul Oliver
My previous patch added CFB mode. This patch adds all remaining Blowfish modes. According to the man page http://www.fifi.org/cgi-bin/man2html/usr/share/man/man3/blowfish.3ssl.gz these are available in all versions of OpenSSL. [ Squashed in elimination of signed/unsigned compiler warnings. /bg ]
2009-12-11Update bootstrap compilerBjörn Gustavsson
2009-12-11Merge branch 'bg/slimmer-history' into ccase/r13b04_devErlang/OTP
* bg/slimmer-history: beam_makepos: Do not put any dates in generated files compiler: Teach 'slim' to omit compilation info
2009-12-10Fix crash in beam_boolBjörn Gustavsson
The following code crashes beam_bool: bad(XDo1, XDo2, Do3) -> Do1 = (XDo1 =/= []), Do2 = (XDo2 =/= []), if Do1 =:= true; Do1 =:= false, Do2 =:= false, Do3 =:= delete -> no end. (Reported by Simon Cornish; minimized by Kostis Sagonas.) For the moment fix the bug in the simplest and safest way possible (basically, instead of crashing just don't do the optimization). In a future major release (e.g. R14), the following improvements could be considered: * In beam_bool, it should be possible to move the Do1 and Do2 expressions to the pre-block and still optimize the expression in the 'if' statement. * In sys_core_fold, it should be possible to eliminate the try/catch around the guard expression in the 'if', because none of the guard tests can actually fail.
2009-12-10Cleaned up docsDan Gudmundsson
2009-12-09beam_makepos: Do not put any dates in generated filesBjörn Gustavsson
We don't want to have dates in files that are checked-in as part of the bootstrap compiler (such as beam_opcodes.{erl,hrl}) as a new version will be created every time.
2009-12-09compiler: Teach 'slim' to omit compilation infoBjörn Gustavsson
The original intention for the undocumented 'slim' option was to omit non-essential parts of *.beam files to reduce the size of the primary bootstrap. Therefore, debug information and local function information (only used by xref, not by the loader) are omitted, but information about the compilation time and compiler version are still included. Including compilation information is troublesome, however, when committing the bootstrap into a revision control system, because every beam file is guaranteed to be changed every time the bootstrap is updated. Therefore, change the 'slim' option to also omit compilation information.
2009-12-09Update .gitignore filesBjörn Gustavsson
2009-12-09OTP-8304 Incompatible changes in the experimental NIF feature. Changed theSverker Eriksson
NIF function prototypes in order to allow more than 3 function arguments. Also an incompatible change in the return value of erlang:load_nif/2. Added support for references, floats and term comparison in NIFs. Read more in the documentation of erl_nif and erlang:load_nif/2.
2009-12-09OTP-5037 Document debug support.Björn-Egil Dahlberg
Debug trace output for connection activity could be enabled setting the trace level as an integer to the EI_TRACELEVEL environment variable. This option could also be read and set from a running program using ei_get_tracelevel(void) and ei_set_tracelevel(int).
2009-12-09OTP-8304 Incompatible changes in the experimental NIF feature. Changed theSverker Eriksson
NIF function prototypes in order to allow more than 3 function arguments. Also an incompatible change in the return value of erlang:load_nif/2. Added support for references, floats and term comparison in NIFs. Read more in the documentation of erl_nif and erlang:load_nif/2.
2009-12-09.gitignore: Don't ignore script/boot files in bootstrap/binBjörn Gustavsson
The .gitignore files ignores everything in the bootstrap/bin directory, includ checked-in *.boot and *.script files. That makes it impossible to check in updates to those files without using the -f (force option) with "git add". Fix this by adding a negated pattern for script and boot files.
2009-12-08Merge branch 'ay/split_binary_docfix' into ccase/r13b04_devErlang/OTP
* ay/split_binary_docfix: documentation: Fix erlang:split_binary/2 Pos argument
2009-12-08OTP-5037 Document debug support.Björn-Egil Dahlberg
Debug trace output for connection activity could be enabled setting the trace level as an integer to the EI_TRACELEVEL environment variable. This option could also be read and set from a running program using ei_get_tracelevel(void) and ei_set_tracelevel(int).
2009-12-08documentation: Fix erlang:split_binary/2 Pos argumentAleksey Yeschenko
The correct value for the second argument to erlang:split_binary/2 (Pos) is 0, not 1.
2009-12-07Changed default target from 'debug' to 'opt'.Rickard Green
2009-12-07Changed filename ref_man.src.xml to ref_man.xml.src to avoid confusionDan Gudmundsson
2009-12-07Merge branch 'dgud/wx_filedialog_bug' into ccase/r13b04_devErlang/OTP
* dgud/wx_filedialog_bug: The generated updates, of the previous fix. Fixed generation of wxFileDialog:getPaths/1. OTP-8330 Corrected incorrectly generated wxFileDialog:getPaths/1. Reported by Jason/hornja.
2009-12-06asn1 documentation: remove unused filesBjörn Gustavsson
2009-12-06debugger documentation: remove unused filesBjörn Gustavsson
2009-12-04Merge branch 'mh/to_erl-error-messages' into ccase/r13b04_devErlang/OTP
* mh/to_erl-error-messages: to_erl: Include strerror(errno) in error messages OTP-8325 to_erl will now include the system error string in error messages to make it easier to understand what the real problem is. (Thanks to Magnus Henoch.)
2009-12-04crypto: include the test suiteBjörn Gustavsson
2009-12-04Merge branch 'sv/sys_get_status' into ccase/r13b04_devErlang/OTP
* sv/sys_get_status: Teach sys:get_status/1,2 to call Mod:format_status/2 gen_fsm: Fix format_status/2 to handle Pids OTP-8324 The ability for the gen_server and gen_fsm callback modules to format their own state for display under the sys:get_status/1,2 calls has been restored and documented. (Thanks to Steve Vinoski.)
2009-12-04The generated updates, of the previous fix.Dan Gudmundsson
2009-12-04Fixed generation of wxFileDialog:getPaths/1.Dan Gudmundsson
2009-12-04Merge branch 'egil/misc-egd' into ccase/r13b04_devErlang/OTP
2009-12-03Corrected CR and LF clarification in file:read_line, removed extra backslash.Patrik Nyblom
2009-12-03OTP-8326 Change erroneous "\\0" in documentation files erl_notes.xml andBjörn-Egil Dahlberg
erl_eterm.xml.
2009-12-03Add test cases for egd_primitivesBjörn-Egil Dahlberg
2009-12-03Optimize egd render speed and reduce code sizeBjörn-Egil Dahlberg
2009-12-03documentation: Fix bugs introduced in the SGML to XML transitionHans Bolinder
In the transition from SGML to XML (several releases ago), bugs were introduced in the documentation, for instance "\n" replaced by newlines. Correct those bugs. Also correct double backslashes. They seem to have been introduced very early in the development of OTP. According to Lars they "solved" a bug in the generation of HTML &c. Now that standard tools are used instead of docbuilder, the bug has become visible.
2009-12-01Teach sys:get_status/1,2 to call Mod:format_status/2Steve Vinoski
Restore the ability for gen_server and gen_fsm callback modules to format their own state for display under the sys:get_status/1,2 calls. This ability is extremely useful for new behavior modules based on gen_server or gen_fsm, so that they can display their status in a more meaningful way than just dumping the state record. It is also generally useful for applications wanting to display their gen_server or gen_fsm callback module state in something other than the default manner. Also document the previously undocumented the gen_server:format_status/2 and gen_fsm:format_status/2 optional callback functions that, if exported by the callback module, are invoked when sys:get_status/1,2 are called. Add unit tests to ensure that format_status/2 functions exported from a gen_fsm callback module and a gen_server callback module are called when sys:get_status/1,2 are called.
2009-12-01erlc_SUITE: Handle new formatting of warningsBjörn Gustavsson
The MIB compiler in the snmp applications formats its warnings slightly differently, so we'll need to update the regexp that should match the expected output.
2009-12-01OTP-8310 Bugs have been fixed in the evaluation of comprehensions andHans Bolinder
short-circuit expressions in guards.
2009-11-30Merge branch 'ks/dialyzer-wx-fix' into ccase/r13b04_devErlang/OTP
* ks/dialyzer-wx-fix: dialyzer: make -wx always start the SMP emulator
2009-11-30Merge branch 'bg/make_stub_module-fix' into ccase/r13b04_devErlang/OTP
* bg/make_stub_module-fix: Fix glitches when native code modules are used
2009-11-30Merge branch 'bg/on_load-types' into ccase/r13b04_devErlang/OTP
* bg/on_load-types: Add type information for on_load
2009-11-30Merge branch 'egil/readme-debug-emulator' into ccase/r13b04_devErlang/OTP
* egil/readme-debug-emulator: README: Add build instructions for a debug-enabled emulator
2009-11-30Merge branch 'ng/readme' into ccase/r13b04_devErlang/OTP
* ng/readme: Clean up formatting issues in the README
2009-11-30Clean up formatting issues in the READMEngerakines
Note that although the copyright markers may seem ugly, they must be there to facilitate automatic updating of the copyright text.
2009-11-30README: Add build instructions for a debug-enabled emulatorBjörn-Egil Dahlberg
2009-11-29Fix glitches when native code modules are usedBjörn Gustavsson
The erlang:make_stub_module/3 BIF (which is only used for loading native code) does not zero the word that points out an on_load routine (if any). As that word most proably will contain a non-zero value, the erlang:module_loaded/1 BIF will think that the module has an on_load routine which has not returned and will always return 'false'. That in turns causes various problems for the native code test cases.
2009-11-29gen_fsm: Fix format_status/2 to handle PidsSteve Vinoski
gen_fsm:format_status/2 currently crashes if Name in the process state is a Pid. Handle Name in the same way as in gen_server:format_status/2 to eliminate the crash.