Age | Commit message (Collapse) | Author |
|
Courtesy of William B. Morgan at Bigpoint Inc.
|
|
* hb/correction_zip_open/OTP-9472:
Fix a bug in zip:zip_open/1,2.
|
|
zip:zip_open/1,2 did not accept binary archives.
Also corrected the contracts of t/1 and tt/1.
|
|
* hb/correction_of_zip_contracts/OTP-9471:
Correct contracts in the zip module
|
|
* hb/et/remove_dialyzer_warnings/OTP-9470:
Remove Dialyzer warnings
|
|
The contracts of zip:zip_list_dir/1 and zip:zip_get/2 have been
corrected.
|
|
* ia/odbc/skip-tests-because-of-driver-issues:
Skip test if not applicable
|
|
|
|
* kj/eunit-surefire-fixes:
Generate separate surefire XMLs for each test suite
OTP-9465
|
|
* cr/trivia:
replace "a ssl" with "an ssl"
reindent pkix_path_validation/3
Trivial documentation fixes
OTP-9464
|
|
* rc/edoc-minor:
forgot to ensure that xmerl is found in path for include_lib to work
fix -spec declaration that doesn't work in R13B04
eliminate warnings about unused imports
removed CVS-keywords from source files
synchronized with edoc development version
OTP-9463
|
|
* hb/stdlib/contract_correction/OTP-9450:
Correct the contract of timer:now_diff/2
|
|
The contract of timer:now_diff() has been corrected.
(Thanks to Alex Morarash).
|
|
* nick/lht-idl-compiler-opt/OTP-9460:
Changed version, added release note and updated license headers.
ic: Implement multiple include optimization
ic: Fix preprocessor double expanded included files
ic: Improve ic_pragma performance by using ets:match
|
|
|
|
* lars/xmerl/attr_val_bug/OTP-9411:
Added test case for ticket 9411.
Entity replacement in attributes doesn't work poperly.
|
|
* lars/xmerl/cant_locate_xsd/OTP-9410:
Added ticket test case.
Fixed problem with relative paths to schemas.
|
|
|
|
|
|
|
|
|
|
* hl/gen_fsm-return:
Fix minor typo in gen_fsm documentation
OTP-9456
|
|
* ms/inet-socket-domain-error:
inet: error if fd does not match socket domain
OTP-9455
|
|
* cg/fix-constant-logical-operand:
Fix use of logical operator && with constant operand instead of bitwise &.
OTP-9454
|
|
* pg/fix-freebsd-dualcore-detection:
Fix bug in FreeBSD topology detection code
OTP-9453
|
|
* pg/fix-hibernate-scheduling-with-hipe:
Fix bug related to hibernate and HiPE (clear F_HIBERNATE_SCHED flag)
OTP-9452
|
|
|
|
|
|
|
|
|
|
* bjorn/erts/loader-related-bs-bugs/OTP-9284:
Fix binary construction with huge literal sizes
beam_load.c: Add overflow check of tag values
beam_makeops: Add some sanity checks
Fix construction of <<0:((1 bsl 32)-1)>>
|
|
|
|
|
|
|
|
|
|
|
|
Constructing binaries using the bit syntax with literals sizes
that would not fit in an Uint will either cause an emulator crash
or the loading to be aborted.
Use the new TAG_o tag introduced in the previous commit to make sure
that the attempt to create huge binary literals will generate a
system_limit exception at run-time.
|
|
The handling of large values for other tags than TAG_i (integer) is
buggy. Any tag value equal to or greater than 2^40 (5 bytes) will
abort loading. Tag values fitting in 5 bytes will be truncated to 4
bytes values.
Those bugs cause real problems because the bs_init2/6 and
bs_init_bits/6 instructions unfortunately use TAG_u to encode literal
sizes (using TAG_i would have been a better choice, but it is too late
to change that now). Any binary size that cannot fit in an Uint
should cause a system_limit exception at run-time, but instead the
buggy handling will either cause an emulator crash (for values in the
range 2^32 to 2^40-1) or abort loading.
In this commit, implement overflow checking of tag values as a
preparation for fixing the binary construction instructions. If any
tag value cannot fit in an Uint (except for TAG_i), change the
tag to the special TAG_o overflow tag.
|
|
We want to make sure that a tag/type name is not defined more than
once and that we don't define too many primitive tags. Primitive
tags must be named with lowercase letters (or they will be confused
with variable names in transformations in the ops.tab file).
|
|
Attempting to construct <<0:((1 bsl 32)-1)>>, the largest bitstring
allowed in a 32 bit emulator, would cause an emulator crash because
of integer overflow.
Fix the problem by using an Uint64 to avoid integer overflow.
Do not attempt to handle construction of <<0:((1 bsl 64)-1>> in
a 64-bit emulator, because that will certainly cause the emulator
to terminate anyway because of insufficient memory.
|
|
Like C header files, IDL files are often macro guarded to avoid opening
and processing the same file repeatedly.
This patch implements the algorithm used by GNU cpp as described at:
http://gcc.gnu.org/onlinedocs/cppinternals/Guard-Macros.html
|
|
* sverker/allocator-aoff/OTP-9424:
New allocator: Address order first fit (aoff)
|
|
* sverker/fun_SUITE-refc_dist-gcfix:
Fix test case fun_SUITE:refc_dist
|
|
* sverker/epmd-vxworks-select-bug/OTP-9427:
Fix epmd crash on vxworks caused by faulty argument to select
|
|
The first argument g->max_conn to select() in epmd_srv.c seems to be
wrong as it excludes the listening socket(s). Instead we keep track of
the highest fd seen.
However I still don't understand why select() started to fail for
vxworks with R14B03 when the feature of more than one listening socket
was introduced. The default is still 1 listening socket (num_sockets=1),
which would make the first argument to select() unchanged.
|
|
New lines are pushed to output inconsistently with "\n" or $\n. This
confuses only_nls/1, which tests if the file just expanded are all
skipped.
This patch consistently pushes character $\n to output, instead of
string "\n" to further improve efficiency.
|
|
`ets:tab2list/1` followed by list comprehension is used in a few
places in module ic_pragma. This introduces significant performance
impact on large lists.
|
|
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/src/agent/snmpa_mpd.erl
lib/snmp/src/app/snmp.appup.src
lib/snmp/vsn.mk
|
|
* sverker/testcase/OTP-9422:
Test case for OTP-9422
|
|
* sverker/testcase/OTP-9423:
Add test case for ETS bug OTP-9423
|