Messages in this thread Patch in this message | | | Date | Sat, 11 Mar 2000 16:20:54 +0100 (CET) | From | Arjan van de Ven <> | Subject | Re: ADFS -> undefined reference to __cmpdi2 (2.3.51) |
| |
On Sat, 11 Mar 2000, Alexander Viro wrote:
> > Arjan van de Ven writes: > > > The ADFS filesystem doesn't compile for me, it leaves undefined references > > > to __cmpdi2.
> > Is your GCC environment missing something? > > Yes. switch(long_long_var) is _not_ a primitive. And libgcc.a is out of > question in the kernel. Assuming that you don't have 64-bit offsets in > directories - switch((unsigned long)(long_long_var)) may be a good idea.
So would the following patch be appropriate? (The BUG() part should probably be replaced with "return -ESOMEERROR", I would not know which one though)
Greetings, Arjan van de Ven
--- linux/fs/adfs/dir.c.org Sat Mar 11 10:49:54 2000 +++ linux/fs/adfs/dir.c Sat Mar 11 16:16:26 2000 @@ -38,8 +38,11 @@ ret = ops->read(sb, inode->i_ino, inode->i_size, &dir); if (ret) goto out; + + if ((filp->f_pos>>32)!=0) + BUG(); - switch (filp->f_pos) { + switch ((unsigned int)filp->f_pos) { case 0: if (filldir(dirent, ".", 1, 0, inode->i_ino) < 0) goto free_out;
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |