Commit Graph

20 Commits

Author SHA1 Message Date
Sebastian Blunt
fe903fb7c5 Fix unreachable nc portability shim
This fixes nc failing to run on darwin due to it incorrectly setting the
linux-specific SOCK_NONBLOCK flag on connect.

nc already had a portability shim in apps/nc/compat/sys/socket.h, which
kicks in if SOCK_NONBLOCK is undefined. But that header includes
include/compat/sys/socket.h, which also has a portability shim that
defines a default value for SOCK_NONBLOCK if it's undefined. Thus the
first portability shim was unreachable.

Fixes this by moving the NEED_SOCKET_FLAGS flag into the outer shim, and
having the inner shim activate if NEED_SOCKET_FLAGS is defined.

This closes https://github.com/libressl-portable/portable/issues/631
2022-04-15 23:59:33 -07:00
kinichiro
461ec45335 Add queue.h tree.h _null.h
Import queue.h tree.h _null.h header files from OpenBSD upstream
since x509_issuer_cache.c requires them.
2020-09-13 21:56:34 +09:00
Brent Cook
535246269d add __dead__ annotation support 2019-02-09 09:09:36 -06:00
Sergei Trofimovich
787d8d240b __warn_references: tweak assembly for "gnu.warning" section
On some targets ';' (like hppa) is treated as a comment
in assembly files. This occasionally causes the following
assembly failures:

```
Error: can't resolve `.gnu.warning.EVP_DecryptFinal'
{.gnu.warning.EVP_DecryptFinal section} - `.Ltext0' {.text section}
```

Note how branch (or other reference) attempts to cross the
boundary across two section types: '.text' and '.gnu.warning'.

Tobias Ulmer notes that openbsd already uses newlines
for similar macro:

https://github.com/openbsd/src/blob/master/sys/arch/hppa/include/cdefs.h

This change switches from ';' to newline as well.
Tested on hppa2.0 and x86_64.

Reported-by: Jeroen Roovers
Bug: https://bugs.gentoo.org/656104
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2018-05-19 17:38:50 +01:00
Brent Cook
987aa6a084 add clock_gettime for macos 10.11 and earlier 2018-03-22 21:04:43 -05:00
kinichiro
3681d02253 Add compat bits for libtls on Windows 2018-02-25 21:56:05 +09:00
kinichiro
f2953bc209 Add file permission define for Windows and MinGW build 2018-02-11 23:31:43 +09:00
kinichiro
965a89108e Add CLOCK_MONOTONIC and timersub for the OS that does not have them 2017-12-25 16:30:49 +09:00
kinichiro
530fbba1ed Add definition of in_addr_t for Windows build 2017-05-14 00:00:10 +09:00
kinichiro
fb936f89b8 Move S_IRGRP and S_IROTH from fcntl.h to sys/stat.h
- S_IRGRP and S_IROTH should be defined in sys/stat.h rather than fcntl.h
- Old MinGW64 on Ubuntu 14.04 appears not to have S_IRGRP and S_IROTH
- MinGW64 has __WIN32 defined but does not have _MSC_VER defined
2017-01-28 02:49:06 +09:00
Brent Cook
dfb6b11e5a include pipe2/socketpair compat for macOS 2017-01-15 16:00:16 -06:00
Brent Cook
b7ba692f72 ensure that __STRING works 2016-09-14 23:40:31 -05:00
Brent Cook
08837a82b6 more cdefs.h removal 2016-09-04 09:04:01 -05:00
Brent Cook
6f24864a73 cdefs.h should not be required anywhere 2016-09-04 07:57:59 -05:00
Brent Cook
6040ff04b0 wire up sys/types.h to pull in sys/cdefs.h 2016-09-04 07:38:16 -05:00
Brent Cook
696ba18c6a fixup windows and older linux builds 2015-09-13 18:57:29 -05:00
Brent Cook
8c90be2a29 allow nc to build on linux and os x 2015-09-13 18:42:15 -05:00
Brent Cook
5f4e95e7c1 updates for MSVC 2015's degenerate headers
Note that 'perror' moves from stdio.h to stdlib.h, and 'rename' moves
from stdio.h to io.h. Also, standard C includes move from the compiler
to the Windows SDK, which changes the base path for the include files.
2015-09-09 06:02:28 -05:00
Brent Cook
cbdc8ca820 tighten up compat include paths, fix glibc compatibility 2015-07-21 12:04:07 -06:00
Brent Cook
5d8a1cf715 add initial CMake and Visual Studio build support
This moves the compatibility include files from include to
include/compat so we can use the awful MS C compiler
<../include/> trick to emulate the GNU #include_next extension.

This also removes a few old compat files we do not need anymore.
2015-07-21 12:08:18 -05:00