lkml.org 
[lkml]   [1996]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectLinux 2.1.0 Compilation problem
Date
I just picked up the brand new patch-2.0.21-2.1.0.gz and patched a clean
version of 2.0.21 (I cheated, and renamed patch-2.0.21-2.1.0.gz to
patch-2.0.22.gz and just used the patch-kernel script). Anyway, I compiled it
the exact way I always compile a new kernel, everything that can be made into
modules (at least stuff that I use) I make as modules, except for the ext2
filesystem (I wouldn't want that as a module right now...) . The kernel built
just fine. However, I got the following error compiling the umsdos module:

make[2]: Entering directory `/usr/src/linux/fs/umsdos'
gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strength-reduce -pipe -m486 -DCPU=486 -DMODULE -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h -c -o emd.o emd.c
emd.c:31: conflicting types for `umsdos_file_read_kmem'
/usr/src/linux/include/linux/umsdos_fs.p:26: previous declaration of `umsdos_file_read_kmem'
emd.c:47: conflicting types for `umsdos_file_write_kmem'
/usr/src/linux/include/linux/umsdos_fs.p:30: previous declaration of `umsdos_file_write_kmem'
emd.c:68: conflicting types for `umsdos_emd_dir_write'
/usr/src/linux/include/linux/umsdos_fs.p:34: previous declaration of `umsdos_emd_dir_write'
emd.c:84: conflicting types for `umsdos_emd_dir_read'
/usr/src/linux/include/linux/umsdos_fs.p:38: previous declaration of `umsdos_emd_dir_read'
make[2]: *** [emd.o] Error 1

A quick glance at the source code shows real differences between the type
declarations in /usr/src/linux/fs/umsdos/emd.c and the declarations in
/usr/src/linux/include/linux/umsdos_fs.p

Assuming that the declarations introduced into umsdos_fs.p from the new patch
are those that are intended to be in effect, a few changes to emd.c are then in
order. The following patch allows it to compile with no warnings. I havn't yet
tested if umsdos works with these changes...
-Erik

--
Erik B. Andersen Web: http://www.et.byu.edu/~andersee/
2485 South State St. email: andersee@et.byu.edu
Springville, Ut 84663 phone: (801) 489-1231
--This message was written using 73% post-consumer electrons--


[Patch Follows]
--- /usr/src/linux/fs/umsdos/emd.c.orig Mon Sep 30 15:53:26 1996
+++ /usr/src/linux/fs/umsdos/emd.c Mon Sep 30 16:30:00 1996
@@ -23,11 +23,10 @@
/*
Read a file into kernel space memory
*/
-int umsdos_file_read_kmem(
- struct inode *inode,
+long umsdos_file_read_kmem (struct inode *inode,
struct file *filp,
char *buf,
- int count)
+ unsigned long count)
{
int ret;
int old_fs = get_fs();
@@ -39,11 +38,10 @@
/*
Write to a file from kernel space
*/
-int umsdos_file_write_kmem(
- struct inode *inode,
+long umsdos_file_write_kmem (struct inode *inode,
struct file *filp,
const char *buf,
- int count)
+ unsigned long count)
{
int ret;
int old_fs = get_fs();
@@ -60,11 +58,10 @@

Return 0 if ok, a negative error code if not.
*/
-int umsdos_emd_dir_write (
- struct inode *emd_dir,
+long umsdos_emd_dir_write (struct inode *emd_dir,
struct file *filp,
char *buf, /* buffer in kernel memory, not in user space */
- int count)
+ unsigned long count)
{
int written;
filp->f_flags = 0;
@@ -76,18 +73,17 @@
The block of data is NOT in user space.
Return 0 if ok, -EIO if any error.
*/
-int umsdos_emd_dir_read (
- struct inode *emd_dir,
+long umsdos_emd_dir_read (struct inode *emd_dir,
struct file *filp,
char *buf, /* buffer in kernel memory, not in user space */
- int count)
+ unsigned long count)
{
- int ret = 0;
+ long int ret = 0;
int sizeread;
filp->f_flags = 0;
sizeread = umsdos_file_read_kmem (emd_dir,filp,buf,count);
if (sizeread != count){
- printk ("UMSDOS: problem with EMD file. Can't read pos = %Ld (%d != %d)\n"
+ printk ("UMSDOS: problem with EMD file. Can't read pos = %Ld (%d != %ld)\n"
,filp->f_pos,sizeread,count);
ret = -EIO;
}
\
 
 \ /
  Last update: 2005-03-22 13:38    [W:0.104 / U:0.224 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site