Age | Commit message (Collapse) | Author |
|
To avoid issues with parallel make and to slightly speed up the
build process, avoid a recursive make by replacing pcre/Makefile.in
with pcre/pcre.mk and including it from the main emulator Makefile.
|
|
|
|
|
|
|
|
One input file that generate multiple output file are tricky to
handle in make. One way is to use a stand-in to represent all the
other generated files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Make sure that directories are created before they are used.
I tried to use order-only prerequisites to create the directories,
but run into two problems: First, order-only prerequisites are
only implemented in Make 3.80 and later. Second, on a computer
running Solaris/Intel 2.8 (with Make 3.80), order-only prerequisites
seemed to work like ordinary prerequisites, causing targets to
be re-built if the timestamp for the directory changed.
Therefore, using a shell command to run mkdir seems to be the
more portable solution.
|
|
Create directories first, not within implicit rules. If two
'install' instances runs at the same time attempting to create
a directory, one of them may fail with an "File exists" error.
I tried to use order-only prerequisites to create the directories,
but run into two problems: First, order-only prerequisites are
only implemented in Make 3.80 and later. Second, on a computer
running Solaris/Intel 2.8 (with Make 3.80), order-only prerequisites
seemed to work like ordinary prerequisites, causing targets to
be re-built if the timestamp for the directory changed.
Therefore, using a shell command to run mkdir seems to be the
more portable solution.
|
|
|
|
|
|
Add dependecies to force the ct_line parse transform module to be
built before all other modules.
|
|
|
|
Apparantly, an invocation like "make generate depend" will run the
'generate' and 'depend' targets in parallel, even if the Makefile
contains a .NOTPARALLEL target. In this case, it will result in
incorrect dependencies since not all files have been generated when
the dependencies are computed.
Split up the single 'make' invocation to two invocations, to force the
targets to be run sequentially.
|
|
|
|
|
|
|
|
|
|
There once was a reason to have a "Makefile.otp" makefile, but
it doesn't apply any longer. Rename it to "Makefile" so that
the standard otp_subdir.mk file can be used for recursion into
sub directories.
|
|
|
|
|
|
|
|
* 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.
|
|
* 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.
|
|
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
|
|
* sverker/sbmbc-fixup:
Small fixups for rickard/sbmbc/OTP-9339
|
|
It failed sometimes depending on GC invocation.
|
|
* bmk/snmp/snmp421_integration:
Fixed install directory typo for man3. Peter Lemenkov. Hans Ulrich Niedermann.
The snmp config tool could not handle (manager) audit trail config because the option seqno was not handled. OTP-9354
[agent] The SNMP ACM cache was not properly updated when changes where made to the VACM security-to-group, access and view-tree-family tables. OTP-9367
Added marker id's in the snmpc(command) to allow linking top specific compiler options. Updated release notes accordingly. OTP-9437
[manager] There was no way to specify transport domain. The transport domains was assumed to be IPv4 (transportDomainUdpIpv4). This has now been changed so that it can also be IPv6 (transportDomainUdpIpv6). To facilitate this, the transport domain, tdomain, is now a (new) valid option when registering (snmpm#register_agent) a new agent (and updating (snmpm#update_agent_info) agent info). This also mean that the transport behaviour has changed. Fixed appup file. OTP-9305
[compiler] Make documentation for the snmpc escript regarding the the new option for warnings as errors ("--wae" in this case). Tuncer Ayaz. OTP-9437
[compiler] Added the option warnings_as_errors which specifies whether warnings should be treated as errors. Tuncer Ayaz. OTP-9437
Fixed unintended build to ebin dir of snmpc escript.
Cosmetics indenting...
Removed "crap" that somehow had gotten into the file (escape sequence).
Fixed install of MIB compiler escript. Was incorrectly installed both in bin end ebin.
Fixed (uncommented) test cases.
Improved (transport) domain error reporting.
Fixed release notes and API documentation for tdomain.xs
transport domain config option named tdomain. Removed debug printouts. transport domain error detection.
[manager] No way to specify transport domain. Transport domains was assumed to be IPv4. This has now been changed so that it can also be IPv6. To facilitate this, the transportDomain is now a (new) valid option. This also mean that the transport behaviour has changed. OTP-9305
Updated version.
[agent] Did not handle transport domains properly in some cases. OTP-9400
Utility make target for cleanig the repo...
...
|
|
Peter Lemenkov
Hans Ulrich Niedermann
OTP-9442
Merge branch 'bmk/snmp/install_dir_typo_man3/OTP-9442' into bmk/snmp/snmp421_integration
Conflicts:
lib/snmp/doc/src/notes.xml
|
|
Peter Lemenkov.
Hans Ulrich Niedermann.
OTP-9442
|
|
* raimo/io_lib_fread/OTP-9439:
Code cleanup, unduplicate test for whitespace
EOF before first field is only ok for first character in io:fread
At end of input ask for more also for for literal format characters
|
|
|
|
changes where made to the VACM security-to-group, access and
view-tree-family tables.
OTP-9367
Merge branch 'bmk/snmp/agent/acm_cache_cleanup/OTP-9367' into bmk/snmp/snmp421_integration
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/src/app/snmp.appup.src
|
|
|
|
because the option seqno was not handled.
OTP-9354
Merge branch 'bmk/snmp/audit_trail_config_bug/OTP-9354' into bmk/snmp/snmp421_integration
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/src/app/snmp.appup.src
|
|
because the option seqno was not handled.
OTP-9354
|
|
|