From 17aa5d98191c4dc85d0645443fc97a12601ae8da Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Tue, 26 Sep 2017 14:55:31 +0300 Subject: [PATCH] Revert "use __dead macro from sys/cdefs.h" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This partially reverts commit a7577667d673f49800e15461fe384817a1572eae. The musl C library does not use an internal cdefs.h header. As a result, the definitions in sys/cdefs.h have no effect. This breads the build as follows: In file included from adjfreq_linux.c:23:0: ../src/ntpd.h:448:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’ __dead void fatal(const char *, ...) ^~~~ ../src/ntpd.h:450:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’ __dead void fatalx(const char *, ...) ^~~~ Refer the related musl FAQ about cdefs.h: http://wiki.musl-libc.org/wiki/FAQ#Q:_I.27m_trying_to_compile_something_against_musl_and_I_get_error_messages_about_sys.2Fcdefs.h Keep the compiler attribute definition. Remove also from noinst_HEADERS. Signed-off-by: Baruch Siach --- Upstream status: https://github.com/openntpd-portable/openntpd-portable/pull/45 include/Makefile.am | 1 - include/sys/cdefs.h | 16 ---------------- include/sys/types.h | 4 ++++ 3 files changed, 4 insertions(+), 17 deletions(-) delete mode 100644 include/sys/cdefs.h diff --git a/include/Makefile.am b/include/Makefile.am index a552026e8f25..3a5a01620d82 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1,6 +1,5 @@ noinst_HEADERS = noinst_HEADERS += machine/endian.h -noinst_HEADERS += sys/cdefs.h noinst_HEADERS += sys/queue.h noinst_HEADERS += sys/socket.h noinst_HEADERS += sys/types.h diff --git a/include/sys/cdefs.h b/include/sys/cdefs.h deleted file mode 100644 index 3dec43deec28..000000000000 --- a/include/sys/cdefs.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Public domain - * sys/cdefs.h compatibility shim - */ - -#include_next - -#ifndef LIBCOMPAT_SYS_CDEFS_H -#define LIBCOMPAT_SYS_CDEFS_H - -#if !defined(HAVE_ATTRIBUTE__DEAD) && !defined(__dead) -#define __dead __attribute__((__noreturn__)) -#define __pure __attribute__((__const__)) -#endif - -#endif diff --git a/include/sys/types.h b/include/sys/types.h index 56aef0b61af8..86821c732ec3 100644 --- a/include/sys/types.h +++ b/include/sys/types.h @@ -14,6 +14,10 @@ #include <_bsd_types.h> #endif +#if !defined(HAVE_ATTRIBUTE__DEAD) && !defined(__dead) +#define __dead __attribute__((__noreturn__)) +#endif + #if !defined(HAVE_ATTRIBUTE__BOUNDED__) && !defined(__bounded__) # define __bounded__(x, y, z) #endif -- 2.14.1