From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7814) id 46A4B385840D; Wed, 3 Nov 2021 07:41:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 46A4B385840D Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Fangrui Song To: glibc-cvs@sourceware.org Subject: [glibc/maskray/clang] Skip undefined va_arg_pack X-Act-Checkin: glibc X-Git-Author: Stan Shebs X-Git-Refname: refs/heads/maskray/clang X-Git-Oldrev: a5a560654b1a17172067dc918bcfe7385d494390 X-Git-Newrev: d6e58a5b13bfe17f97c0e84501f9bec17b399a37 Message-Id: <20211103074115.46A4B385840D@sourceware.org> Date: Wed, 3 Nov 2021 07:41:15 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Nov 2021 07:41:15 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d6e58a5b13bfe17f97c0e84501f9bec17b399a37 commit d6e58a5b13bfe17f97c0e84501f9bec17b399a37 Author: Stan Shebs Date: Fri Jan 19 09:31:04 2018 -0800 Skip undefined va_arg_pack Diff: --- misc/sys/cdefs.h | 5 +++++ sysdeps/generic/ldsodefs.h | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h index ab57d4a065..34dbacbb1a 100644 --- a/misc/sys/cdefs.h +++ b/misc/sys/cdefs.h @@ -463,9 +463,14 @@ /* GCC 4.3 and above allow passing all anonymous arguments of an __extern_always_inline function to some other vararg function. */ #if __GNUC_PREREQ (4,3) +#if defined(__clang__) +# define __va_arg_pack() __VA_ARGS__ +# define __va_arg_pack_len() 0 +#else # define __va_arg_pack() __builtin_va_arg_pack () # define __va_arg_pack_len() __builtin_va_arg_pack_len () #endif +#endif /* It is possible to compile containing GCC extensions even if GCC is run in pedantic mode if the uses are carefully marked using the diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 1318c36dce..a55b2c34a7 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -827,7 +827,11 @@ _dl_dprintf (int fd, const char *fmt, ...) { /* Use local declaration to avoid includign . */ extern int __dprintf(int fd, const char *format, ...) attribute_hidden; +#if defined(__clang__) + __dprintf (fd, fmt); +#else __dprintf (fd, fmt, __builtin_va_arg_pack ()); +#endif } #endif