glibc/sysdeps
Joseph Myers d82468d100 Fix fexecve build where syscall macros call sizeof.
The recent fexecve changes broke the build on (at least) alpha (maybe
other configurations, that was the first breakage I saw in my
build-many-glibcs.py run):

In file included from ../sysdeps/unix/sysv/linux/alpha/sysdep.h:29:0,
                 from ../sysdeps/alpha/nptl/tls.h:31,
                 from ../include/errno.h:25,
                 from ../sysdeps/unix/sysv/linux/fexecve.c:18:
../sysdeps/unix/sysv/linux/fexecve.c: In function 'fexecve':
../sysdeps/unix/alpha/sysdep.h:203:10: error: 'sizeof' on array function parameter 'argv' will return size of 'char * const*' [-Werror=sizeof-array-argument]
   (sizeof(arg) == 4 ? (long)(int)(long)(arg) : (long)(arg))
          ^
../sysdeps/unix/alpha/sysdep.h:302:26: note: in expansion of macro 'syscall_promote'
  register long _tmp_18 = syscall_promote (arg3);  \
                          ^~~~~~~~~~~~~~~
../sysdeps/unix/alpha/sysdep.h:173:2: note: in expansion of macro 'inline_syscall5'
  inline_syscall##nr(__NR_##name, args); \
  ^~~~~~~~~~~~~~
../sysdeps/unix/sysv/linux/alpha/sysdep.h:85:2: note: in expansion of macro 'INLINE_SYSCALL1'
  INLINE_SYSCALL1(name, nr, args);    \
  ^~~~~~~~~~~~~~~
../sysdeps/unix/sysv/linux/fexecve.c:42:3: note: in expansion of macro 'INLINE_SYSCALL'
   INLINE_SYSCALL (execveat, 5, fd, "", argv, envp, AT_EMPTY_PATH);
   ^~~~~~~~~~~~~~
../sysdeps/unix/sysv/linux/fexecve.c:33:30: note: declared here
 fexecve (int fd, char *const argv[], char *const envp[])
                              ^~~~

This patch fixes this similarly to previous fixes for such issues: use
&argv[0] and &envp[0] as the syscall macro arguments.  Tested
(compilation only) for alpha-linux-gnu with build-many-glibcs.py.

	* sysdeps/unix/sysv/linux/fexecve.c (fexecve) [__NR_execveat]:
	Explicitly take address of first element of array arguments in
	call to INLINE_SYSCALL.
2017-09-19 15:50:38 +00:00
..
aarch64 Enable unwind info in libc-start.c and backtrace.c 2017-09-19 15:07:58 +01:00
alpha Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
arm Enable unwind info in libc-start.c and backtrace.c 2017-09-19 15:07:58 +01:00
generic Define and use libm_alias_float128. 2017-09-14 01:11:46 +00:00
gnu posix: Sync glob with gnulib [BZ #1062] 2017-09-08 09:39:13 +02:00
hppa Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
i386 Enable unwind info in libc-start.c and backtrace.c 2017-09-19 15:07:58 +01:00
ia64 Prefer new libm function wrappers for !LIBM_SVID_COMPAT. 2017-09-05 23:35:55 +00:00
ieee754 Fix powerpc64le problem from last ldbl-opt patch. 2017-09-18 23:26:35 +00:00
init_array
m68k Enable unwind info in libc-start.c and backtrace.c 2017-09-19 15:07:58 +01:00
mach Add missing libc_hidden_weak/def calls 2017-09-17 21:57:39 +02:00
microblaze Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
mips Enable unwind info in libc-start.c and backtrace.c 2017-09-19 15:07:58 +01:00
nios2 Enable unwind info in libc-start.c and backtrace.c 2017-09-19 15:07:58 +01:00
nptl
posix Add missing libc_hidden_weak/def calls 2017-09-17 21:57:39 +02:00
powerpc powerpc: Avoid misaligned stores in memset 2017-09-19 13:55:49 +05:30
pthread aio: Remove internal_function function attribute 2017-08-31 15:59:06 +02:00
s390 Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
sh Enable unwind info in libc-start.c and backtrace.c 2017-09-19 15:07:58 +01:00
sparc Enable unwind info in libc-start.c and backtrace.c 2017-09-19 15:07:58 +01:00
tile Obsolete pow10 functions. 2017-09-01 21:13:18 +00:00
unix Fix fexecve build where syscall macros call sizeof. 2017-09-19 15:50:38 +00:00
wordsize-32
wordsize-64 posix: Consolidate Linux glob implementation 2017-09-08 16:34:02 +02:00
x86 x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ #21967] 2017-09-12 07:54:47 -07:00
x86_64 x86: Add MathVec_Prefer_No_AVX512 to cpu-features [BZ #21967] 2017-09-12 07:54:47 -07:00