tools: libressl: fix compilation for non-glibc clib (FS#2400)
authorHans Dedecker <dedeckeh@gmail.com>
Tue, 23 Jul 2019 12:47:56 +0000 (14:47 +0200)
committerJo-Philipp Wich <jo@mein.io>
Wed, 4 Sep 2019 11:31:40 +0000 (13:31 +0200)
Fixes compilaton issue for non glibc clibs :

libtool: compile:  gcc -DPACKAGE_NAME=\"libressl\" -DPACKAGE_TARNAME=\"libressl\" -DPACKAGE_VERSION=\"2.9.2\" "-DPACKAGE_STRING=\"libressl 2.9.2\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libressl\" -DVERSION=\"2.9.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_SYMLINK=1 -DHAVE_ERR_H=1 -DHAVE_ASPRINTF=1 -DHAVE_MEMMEM=1 -DHAVE_STRLCAT=1 -DHAVE_STRLCPY=1 -DHAVE_STRNDUP=1 -DHAVE_STRNLEN=1 -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_SYSLOG=1 -DHAVE_ACCEPT4=1 -DHAVE_PIPE2=1 -DHAVE_POLL=1 -DHAVE_SOCKETPAIR=1 -DHAVE_EXPLICIT_BZERO=1 -DHAVE_GETAUXVAL=1 -DHAVE_GETAUXVAL=1 -DHAVE_DL_ITERATE_PHDR=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_VA_COPY=1 -DHAS_GNU_WARNING_LONG=1 -DSIZEOF_TIME_T=8 -I. -I../include -I../include/compat -DLIBRESSL_INTERNAL -D__BEGIN_HIDDEN_DECLS= -D__END_HIDDEN_DECLS= -I../crypto/asn1 -I../crypto/bn -I../crypto/ec -I../crypto/ecdsa -I../crypto/evp -I../crypto/modes -I../crypto -I/builds/pantacor/pv-platforms/openwrt-base/openwrt/staging_dir/host/include -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_SOURCE -D_GNU_SOURCE -D__STRICT_ALIGNMENT -O2 -I/builds/pantacor/pv-platforms/openwrt-base/openwrt/staging_dir/host/include -fpic -Wall -std=gnu99 -fno-strict-aliasing -fno-strict-overflow -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DHAVE_GNU_STACK -Wno-pointer-sign -MT compat/getprogname_linux.lo -MD -MP -MF compat/.deps/getprogname_linux.Tpo -c compat/getprogname_linux.c -o compat/getprogname_linux.o
compat/getprogname_linux.c: In function 'getprogname':
compat/getprogname_linux.c:32:2: error: #error "Cannot emulate getprogname"
 #error "Cannot emulate getprogname"
  ^~~~~

Reported-by: Anibal Portero <anibal.portero@pantacor.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
(cherry picked from commit 1282a630272c59dfd105262772a2ca136084db03)

tools/libressl/patches/010-avoid-glibc.patch [new file with mode: 0644]

diff --git a/tools/libressl/patches/010-avoid-glibc.patch b/tools/libressl/patches/010-avoid-glibc.patch
new file mode 100644 (file)
index 0000000..e91899c
--- /dev/null
@@ -0,0 +1,23 @@
+From a747aacc23607c993cc481378782b2c7dd5bc53b Mon Sep 17 00:00:00 2001
+From: Ishimoto Shinobu <47295761+protonesso@users.noreply.github.com>
+Date: Tue, 21 May 2019 22:41:05 +0900
+Subject: [PATCH] avoid glibc
+
+cause problems on musl systems
+---
+ crypto/compat/getprogname_linux.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+--- a/crypto/compat/getprogname_linux.c
++++ b/crypto/compat/getprogname_linux.c
+@@ -26,9 +26,7 @@ getprogname(void)
+ #if defined(__ANDROID_API__) && __ANDROID_API__ < 21
+       extern const char *__progname;
+       return __progname;
+-#elif defined(__GLIBC__)
+-      return program_invocation_short_name;
+ #else
+-#error "Cannot emulate getprogname"
++      return program_invocation_short_name;
+ #endif
+ }