From: Adam Kropelin <akropel1@rochester.rr.com>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Prasanna Meda <pmeda@akamai.com>, Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org
Subject: [PATCH] contort getdents64 to pacify gcc-2.96
Date: Thu, 13 Jan 2005 00:42:19 -0500 [thread overview]
Message-ID: <20050113004219.A25351@mail.kroptech.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0501112100250.2373@ppc970.osdl.org>
A recent trivial fixup in sys_getdents64...
> diff -Nru a/fs/readdir.c b/fs/readdir.c
> --- a/fs/readdir.c 2005-01-12 19:22:35 -08:00
> +++ b/fs/readdir.c 2005-01-12 19:22:35 -08:00
> @@ -287,8 +287,9 @@
> lastdirent = buf.previous;
> if (lastdirent) {
> typeof(lastdirent->d_off) d_off = file->f_pos;
> - __put_user(d_off, &lastdirent->d_off);
> error = count - buf.count;
> + if (__put_user(d_off, &lastdirent->d_off))
> + error = -EFAULT;
> }
>
> out_putf:
...gives gcc-2.96 indigestion:
> fs/readdir.c: In function `sys_getdents64':
> fs/readdir.c:299: Unrecognizable insn:
> (insn 166 257 174 (parallel[
> (set (reg/v:SI 6 ebp)
> (asm_operands/v ("1: movl %%eax,0(%2)
> 2: movl %%edx,4(%2)
> 3:
> .section .fixup,"ax"
> 4: movl %3,%0
> jmp 3b
> .previous
> .section __ex_table,"a"
> .align 4
> .long 1b,4b
> .long 2b,4b
> .previous") ("=r") 0[
> (reg:DI 1 edx)
> (reg:SI 0 eax)
> (const_int -14 [0xfffffff2])
> (reg/v:SI 6 ebp)
> ]
> [
> (asm_input:DI ("A"))
> (asm_input:SI ("r"))
> (asm_input:SI ("i"))
> (asm_input:SI ("0"))
> ] ("fs/readdir.c") 291))
> (clobber (reg:QI 19 dirflag))
> (clobber (reg:QI 18 fpsr))
> (clobber (reg:QI 17 flags))
> ] ) -1 (insn_list 132 (insn_list 146 (insn_list 165 (nil))))
> (nil))
> fs/readdir.c:299: confused by earlier errors, bailing out
While upgrading to a sane gcc would be the preferred solution,
rewriting the change as follows eliminates the error for those who
cannot do so.
Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com>
--- linux-2.6.11-rc1.orig/fs/readdir.c Wed Jan 12 22:35:03 2005
+++ linux-2.6.11-rc1/fs/readdir.c Wed Jan 12 22:16:55 2005
@@ -287,9 +287,10 @@
lastdirent = buf.previous;
if (lastdirent) {
typeof(lastdirent->d_off) d_off = file->f_pos;
- error = count - buf.count;
+ error = -EFAULT;
if (__put_user(d_off, &lastdirent->d_off))
- error = -EFAULT;
+ goto out_putf;
+ error = count - buf.count;
}
out_putf:
next prev parent reply other threads:[~2005-01-13 3:42 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-12 5:09 Linux 2.6.11-rc1 Linus Torvalds
2005-01-12 7:07 ` Keith Owens
2005-01-12 7:07 ` Keith Owens
2005-01-12 7:32 ` Markus Trippelsdorf
2005-01-13 22:37 ` Linux 2.6.11-rc1 (ACPI related problems) Hanspeter Kunz
2005-01-12 8:24 ` Linux 2.6.11-rc1 Brice Goglin
2005-01-12 9:20 ` Tino Keitel
2005-01-12 9:38 ` Brice Goglin
2005-01-12 14:13 ` Dmitry Torokhov
2005-01-12 14:35 ` Brice Goglin
2005-01-12 15:50 ` Linus Torvalds
2005-01-12 19:13 ` Vojtech Pavlik
2005-01-12 15:24 ` Sergey S. Kostyliov
2005-01-12 15:32 ` Linus Torvalds
2005-01-12 15:44 ` Gene Heskett
2005-01-12 16:03 ` Sergey S. Kostyliov
2005-01-13 9:45 ` NUMA or not on dual Opteron (was: Re: Linux 2.6.11-rc1) Sander
2005-01-13 10:02 ` NUMA or not on dual Opteron Raphael Jacquot
2005-01-13 17:07 ` Justin M. Forbes
2005-01-13 19:43 ` Andi Kleen
2005-01-13 19:40 ` Andi Kleen
2005-01-13 15:36 ` NUMA or not on dual Opteron (was: Re: Linux 2.6.11-rc1) Alan Cox
2005-01-13 19:38 ` NUMA or not on dual Opteron Andi Kleen
2005-01-15 23:42 ` Sander
2005-01-13 21:24 ` Bernd Eckenfels
2005-01-14 8:04 ` David Schwartz
2005-01-14 8:10 ` Arjan van de Ven
2005-01-14 8:48 ` Andi Kleen
2005-01-12 19:06 ` Linux 2.6.11-rc1 -- usb_storage and Genesys Jan De Luyck
2005-01-13 5:42 ` Adam Kropelin [this message]
2005-01-13 3:51 ` [PATCH] contort getdents64 to pacify gcc-2.96 Linus Torvalds
2005-01-13 23:15 ` Linux 2.6.11-rc1 (compile stats) John Cherry
2005-01-16 9:22 ` Cross-compilation broken (was: Re: Linux 2.6.11-rc1) Geert Uytterhoeven
2005-01-16 16:09 ` Sam Ravnborg
2005-01-17 9:00 ` Geert Uytterhoeven
2005-01-19 21:07 ` Linux 2.6.11-rc1 Daniel Gryniewicz
2005-01-20 4:16 ` Dmitry Torokhov
2005-01-20 4:49 ` Daniel Gryniewicz
2005-01-20 7:17 ` Peter Osterlund
2005-01-20 15:01 ` Romano Giannetti
-- strict thread matches above, loose matches on Subject: below --
2005-01-13 6:34 [PATCH] contort getdents64 to pacify gcc-2.96 Meda, Prasanna
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050113004219.A25351@mail.kroptech.com \
--to=akropel1@rochester.rr.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pmeda@akamai.com \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.