erts: Fix file driver to handle long paths on windows
erts: Use GetFullPathNameW to construct abs paths from relative ones
erts: Fix long windows paths for compressed files
erts: Fix file_SUITE:make_del_dir for long paths

Windows do not accept long UNC paths for current working directory.
fix file_SUITE:cur_dir_0 for long windows paths
erts: Ignore reduntant slashes in windows paths
erts: Revert file:set_cwd impl for windows

No need to even try as CWD can not bee a long path anyway.
erts: Deprecate halfword emulator
Protect generated .hrl files from multiple inclusions
zlib: Fix adler32_combine/4 and crc32_combine/4

Since our config.h is included in each source file in the zlib
directory, we must make sure that config.h is also included
every time zlib functions are called to ensure that definitions
of types are consistent.

zlib_drv.c did not include config.h, which caused problems on
a MacOS X Leopard system. What happened was that HAVE_UNISTD_H
was not defined when zlib.h was included. When unistd.h is not
known to exist, the type z_off_t will be set to a long (32 bits
on this platform). But when the zlib source files were compiled,
HAVE_UNISTD_H was defined, unistd.h would be included, and
z_off_t would be set to off_t (64 bits; defined in unistd.h).

As a result of the mismatch, calls to the adler32_combine() and
crc32_combine() would pass only 32 bits in the len2 argument when
64 bits were expected.
stdlib: Add more types to epp and erl_lint
hipe: Add a few clauses for maps in erl_types
Merge branch 'hb/dialyzer/deprecate_types/OTP-10342'

* hb/dialyzer/deprecate_types/OTP-10342:
  hipe: Add a few clauses for maps in erl_types
  stdlib: Add more types to epp and erl_lint
stdlib: warn if the type map() is redefined
Merge branch 'hb/stdlib/erl_lint_map_fix'

* hb/stdlib/erl_lint_map_fix:
  stdlib: warn if the type map() is redefined
hipe: Correct last commit of OTP-10342

Remove debug printouts.
Merge branch 'hb/hipe/remove_debug_code'

* hb/hipe/remove_debug_code:
  hipe: Correct last commit of OTP-10342
Use the ordsets:ordset(T) type instead of defining a local one
Correct some type declarations

The types of some record fields were wrong. This file uses some module
local format of race warnings and when the analysis is done transforms
this format into the format of general dialyzer warnings. This change
fixes the type declaration of the race_warning field of the #races{}
record which was wrong.  In addition, declared the type of the state
field in some other record that, long ago, could not be declared since
mutually recursive types were not supported by Dialyzer's analysis.
erts: Make file:make_symlink/2 return {error,eperm} on Windows

if the user has not the privilege SE_CREATE_SYMBOLIC_LINK_NAME