From: CaT <ca...@zi...> - 2004-09-22 15:58:30
|
On Sun, Sep 19, 2004 at 11:53:28PM -0400, Michael Richardson wrote: > CaT> In include/asm-i386/string.h for example. Not all arches have > CaT> it defined but a few do. > > CaT> With the change btw, the kernel compiled. > > Using __HAVE_ARCH_STRSTR doesn't work on UML. > It appears that the strstr.c from arch/i386/lib/strstr.c doesn't get > compiled. I tried to get it compiled, but I seem to be missing some > symbol table magic. (Adding EXPORT_SYMTAB(strstr) to the file didn't > help). > > Any ideas on this? I'm not expert (seriously - this isn't just modesty :) but it looks like that uml is undefining strstr but not __HAVE_ARCH_STRSTR so that when it's compiled on an arch that defines __HAVE_ARCH_STRSTR because it has strstr it's only half undefined. If I'm right it appears to be a bug in the part of uml. Check linux/arch/um/os-Linux/user_syms.c. It includes string.h which includes asm/string.h which includes asm/arch/string.h which points to asm-i386/string.h which would define the above. I've CCed the happy-fun folks at UML to be sure because my feeling that I'm talking sheer bollocks is about as strong as my feeling that I am not. :) -- Red herrings strewn hither and yon. |
From: BlaisorBlade <bla...@ya...> - 2004-09-25 17:18:25
|
On Monday 20 September 2004 06:45, CaT wrote: > On Sun, Sep 19, 2004 at 11:53:28PM -0400, Michael Richardson wrote: > > CaT> In include/asm-i386/string.h for example. Not all arches have > > CaT> it defined but a few do. > > > > CaT> With the change btw, the kernel compiled. > > > > Using __HAVE_ARCH_STRSTR doesn't work on UML. > > It appears that the strstr.c from arch/i386/lib/strstr.c doesn't get > > compiled. I tried to get it compiled, but I seem to be missing some > > symbol table magic. (Adding EXPORT_SYMTAB(strstr) to the file didn't > > help). > > > > Any ideas on this? > I'm not expert (seriously - this isn't just modesty :) but it looks > like that uml is undefining strstr but not __HAVE_ARCH_STRSTR so that > when it's compiled on an arch that defines __HAVE_ARCH_STRSTR because > it has strstr it's only half undefined. > If I'm right it appears to > be a bug in the part of uml. Ok, that's not a bug, but one UML choice: it will use the host libc version of strstr. > Check linux/arch/um/os-Linux/user_syms.c. The problem is just the fact that "EXPORT_SYMBOL(strstr)" is commented out in THAT file. If you compile the code which uses that statically, it will work, so you're not on the right road. > It includes string.h > which includes asm/string.h which includes asm/arch/string.h which > points to asm-i386/string.h which would define the above. > I've CCed the happy-fun folks at UML to be sure because my feeling that > I'm talking sheer bollocks is about as strong as my feeling that I am > not. :) I don't know what "sheer bollocks" means, but I guess this is the case... Bye -- Paolo Giarrusso, aka Blaisorblade Linux registered user n. 292729 |
From: Michael R. <mc...@sa...> - 2004-09-26 18:52:45
|
-----BEGIN PGP SIGNED MESSAGE----- >>>>> "BlaisorBlade" == BlaisorBlade <bla...@ya...> writes: BlaisorBlade> The problem is just the fact that BlaisorBlade> "EXPORT_SYMBOL(strstr)" is commented out in THAT BlaisorBlade> file. If you compile the code which uses that BlaisorBlade> statically, it will work, so you're not on the right BlaisorBlade> road. Okay, can it be commented back in for 2.6.9? It certainly explains why it only failed when I compile my code as a module. (We both both static links and module builds are part of a nightly regression test) - -- ] "Elmo went to the wrong fundraiser" - The Simpson | firewalls [ ] Michael Richardson, Xelerance Corporation, Ottawa, ON |net architect[ ] mc...@xe... http://www.sandelman.ottawa.on.ca/mcr/ |device driver[ ] panic("Just another Debian GNU/Linux using, kernel hacking, security guy"); [ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) Comment: Finger me for keys iQCVAwUBQVcPm4qHRg3pndX9AQHAygP/fOxvYS4PJ9u6ncw3leJMbvO3wnDZh0oN /47BVYvX9eWYyzJQNynqflIlpT3B3x7rWZxEPW6EDNlTz2MEVp+uXviQT6PaeBCL bylJQbseHlE8GVy3re3ZpklnDY18fYncml7sL1DQtBto3SdrPYWkpxe7E0asxqjP n+VMxnq1BM4= =gRZS -----END PGP SIGNATURE----- |
From: BlaisorBlade <bla...@ya...> - 2004-09-29 17:36:50
|
On Sunday 26 September 2004 20:51, Michael Richardson wrote: > >>>>> "BlaisorBlade" == BlaisorBlade <bla...@ya...> writes: > > BlaisorBlade> The problem is just the fact that > BlaisorBlade> "EXPORT_SYMBOL(strstr)" is commented out in THAT > BlaisorBlade> file. If you compile the code which uses that > BlaisorBlade> statically, it will work, so you're not on the right > BlaisorBlade> road. > > Okay, can it be commented back in for 2.6.9? It is already fixed in 2.6.9-rc2; I refer to the actual vanilla kernel, since the UML patch has been merged (actually from my own tree, so some things, as this one, have been fixed there before than in the Jeff's tree; however I *do* send the patches him, it's just sometimes they get lost). Bye -- Paolo Giarrusso, aka Blaisorblade Linux registered user n. 292729 |