lkml.org 
[lkml]   [1996]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectIPX and 2.1.5

Alright, I hacked around a little bit with the af_ipx.c stuff in net/ipx/.

My problem was the fact that, right off the bat, I couldn't compile the
2.1.5 kernel (as opposed to the 2.1.3) because when ipx.o was made, the
macros for get_fs_byte and get_fs_long (defined in asm/segment.h) were not
being recognized (and thusly being declared implicitly, so when ipx.o was
included in network.a, the symbol didn't match anything).

2.1.3 compiles fine, so I did a diff on the .3 version of af_ipx.c and the
.5 version.

Aside from the few changes of memcpy_fromfs() to copy_from_user() and all
likenesses, nothing referring to the two instances of get_fs_byte() and
get_fs_long() were changed.

Of course, asm/segment.h is included, and this is a problem I have had in
the past, in other situations - some symbols get clobbered or macros get
ignored. Will someone explain this to me?

I added (a direct cut from segment.h):

> #define put_user(x,ptr) do { (*(ptr)=(x)); } while (0)
> #define get_user(ptr) (*(ptr))
>
> #define get_fs_byte(addr) get_user((const unsigned char *)(addr))
> #define get_fs_long(addr) get_user((const unsigned int *)(addr))

to net/ipx/af_ipx.c.

This *did* generate a warning about where it was previously defined
(making me wonder why it didn't use the macro in the first place), but it
still plodded on and DID compile with no ERRORS.

All I have to say is, WHY was this necessary? I'm using the new gcc
(2.7.2.1.f.1). Any ideas?

Jordan Ritter
Human Touch Technologies





\
 
 \ /
  Last update: 2005-03-22 13:38    [W:0.025 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site