os_mon: Elucidate port program error messages

Try to avoid confusion of the message 'Erlang has closed' by
clarifying that the message is sent from os_mon port programs.
doc: Fix faulty tag in inet bit8 documentation
Merge branch 'egil/fix-inet-bit8-doc' into maint

* egil/fix-inet-bit8-doc:
  doc: Fix faulty tag in inet bit8 documentation
Clean up Install Erlang on OSX
Merge branch 'egil/fix-install-osx-readme' into maint

* egil/fix-install-osx-readme:
  Clean up Install Erlang on OSX
Merge branch 'egil/change-os_mon-ports-error-messages/OTP-10161' into maint

* egil/change-os_mon-ports-error-messages/OTP-10161:
  os_mon: Elucidate port program error messages
Use annotate level 1 for 'gdb' with 'emacs' in 'cerl'
Implement delayed aux work wake up

By using a delayed aux work wake up approach, a memory barrier
can be omitted in the delayed dealloc enqueue operation. The
amount of operations, on the potentially contended, wake up
structure is also reduced.
Improve the enqueue operation of delayed dealloc

The enqueue operation have been re-written to behave better
during heavy contention by spreading writes over multiple
locations. This enqueue operation also take advantage of the
delayed aux work wake up functionality and can by this omit
one memory barrier.
Use static allocation of process lock queues

By using statically allocated lock queues there is no longer
any need for locking corresponding pix lock when process
locks have been transferred after a wait. This costs us 3 words
extra in process structure, but improves performance during
contention.
Merge branch 'rickard/dealloc/OTP-10162' into maint

* rickard/dealloc/OTP-10162:
  Improve the enqueue operation of delayed dealloc
  Implement delayed aux work wake up
Merge branch 'rickard/proc-lock-queues/OTP-10163' into maint

* rickard/proc-lock-queues/OTP-10163:
  Use static allocation of process lock queues
Merge branch 'rickard/cerl-emacs-gdb' into maint

* rickard/cerl-emacs-gdb:
  Use annotate level 1 for 'gdb' with 'emacs' in 'cerl'
compile_SUITE: Correct the forms_2 test case to work on Windows

Correct the forms_2 test case introduced in 2d785c07fbf9f533bf so
that it will work on Windows. As originally written, the test case
assumed that filename:absname("/foo/bar") would return "/foo/bar",
which is not true on Windows (typically, the result will be
"c:/foo/bar").

While at it, clean up indentation, the overlong line, and comments.
compiler: Eliminate EXIT messages from the temporary compiler process

If a process trap exits, calling the compiler would leave an EXIT
message in the message queue of the calling process because the
compiler spawns a temporary work process. Eliminate the EXIT process
by monitoring the temporary process instead of linking to it.

Reported-by: Jeremy Heater
Fix flattening of paths in erl_prim_loader

When correcting OTP-10071, a new error was introduced in
erl_prim_loader. In order to improve ability to detect if a file was
inside the primary archive, all paths were flattened - i.e. "."  and
".." were removed. This implementation had some faults, and it did not
take symlinks into account. This has been corrected.
Update preloaded

erl_prim_loader.beam
added special case for file names under Windows, thanks to Beads Land-Trujillo
List behaviour callbacks in Edoc when using -callback attribute

Defining a behaviour_info/1 function is no longer the only way to
define a behaviour; you can use -callback attributes as well.  This
change makes edoc aware of the latter, such that the module
documentation page for a behaviour module will list the name and arity
of the required callback functions.

Ideally, edoc should use the type information present in the callback
attributes, but with this change, the documentation is at least no
worse than when using an explicit behaviour_info function.
bumped revision