From 57b97b42bdecafd81c4967a10aef6eaf43d3fcb8 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 25 Feb 2018 21:13:38 -0500 Subject: [PATCH] add public interface headers to implementation files general policy is that all source files defining a public API or an ABI mechanism referenced by a public header should include the public header that declares the interface, so that the compiler or analysis tools can check the consistency of the declarations. Alexander Monakov pointed out a number of violations of this principle a few years back. fix them now. --- src/errno/__errno_location.c | 1 + src/misc/gethostid.c | 2 ++ src/signal/sigrtmin.c | 2 ++ src/stdlib/abs.c | 2 ++ src/stdlib/labs.c | 2 ++ src/stdlib/llabs.c | 2 ++ 6 files changed, 11 insertions(+) diff --git a/src/errno/__errno_location.c b/src/errno/__errno_location.c index 7172a1be..ad9f9241 100644 --- a/src/errno/__errno_location.c +++ b/src/errno/__errno_location.c @@ -1,3 +1,4 @@ +#include #include "pthread_impl.h" int *__errno_location(void) diff --git a/src/misc/gethostid.c b/src/misc/gethostid.c index ea65611a..25bb35db 100644 --- a/src/misc/gethostid.c +++ b/src/misc/gethostid.c @@ -1,3 +1,5 @@ +#include + long gethostid() { return 0; diff --git a/src/signal/sigrtmin.c b/src/signal/sigrtmin.c index d0e769bb..c5a1fd92 100644 --- a/src/signal/sigrtmin.c +++ b/src/signal/sigrtmin.c @@ -1,3 +1,5 @@ +#include + int __libc_current_sigrtmin() { return 35; diff --git a/src/stdlib/abs.c b/src/stdlib/abs.c index 4806d629..e721fdc2 100644 --- a/src/stdlib/abs.c +++ b/src/stdlib/abs.c @@ -1,3 +1,5 @@ +#include + int abs(int a) { return a>0 ? a : -a; diff --git a/src/stdlib/labs.c b/src/stdlib/labs.c index 675b95b8..83ddb147 100644 --- a/src/stdlib/labs.c +++ b/src/stdlib/labs.c @@ -1,3 +1,5 @@ +#include + long labs(long a) { return a>0 ? a : -a; diff --git a/src/stdlib/llabs.c b/src/stdlib/llabs.c index bec4a03d..9dfaf5cf 100644 --- a/src/stdlib/llabs.c +++ b/src/stdlib/llabs.c @@ -1,3 +1,5 @@ +#include + long long llabs(long long a) { return a>0 ? a : -a; -- 2.25.1