http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49832
Summary: too many memory references for `lea' Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com CC: ubiz...@gmail.com Target: x32 [hjl@gnu-6 ilp32-8]$ cat x.i struct iovec { void *iov_base; unsigned int iov_len; }; void foo (struct iovec *); void bar (char *p, unsigned int lp) { struct iovec iov[3]; iov[0].iov_base = "execvp: "; iov[0].iov_len = 8; iov[1].iov_base = ": path too long\n"; iov[1].iov_len = 16; iov[2].iov_base = p; iov[2].iov_len = lp; foo (iov); } [hjl@gnu-6 ilp32-8]$ make x.o /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -S -o x.s -mx32 -O2 -fPIC -dp x.i /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -mx32 -O2 -fPIC -dp -c -o x.o x.s x.s: Assembler messages: x.s:18: Error: too many memory references for `lea' x.s:20: Error: too many memory references for `lea' make: *** [x.o] Error 1 [hjl@gnu-6 ilp32-8]$