[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unresolved symbols against kernel 2.6.16



On Tuesday 21 March 2006 18:20, Alberto Federico Turelli wrote:
On Tue, 2006-03-21 at 17:45 +0100, Jan De Luyck wrote:
Where can i find those 'directions'? I've compiled my kernel like I've
done so a zillion of times, so I wonder what I might have missed.

bibe at scratchy:~/linux-2.6.16(0)$ grep -r inter_module_unregister * |grep
EXPORT kernel/intermodule.c:EXPORT_SYMBOL(inter_module_unregister);
bibe at scratchy:~/linux-2.6.16(0)$ find . -name Makefile -exec grep
intermodule {} \; obj-$(CONFIG_OBSOLETE_INTERMODULE) += intermodule.o

Enable CONFIG_OBSOLETE_INTERMODULE (I guess it has been introduced in
2.6.16 kernels) and you will get rid of those undefined symbols errors.

Thanks.

In the end I fixed it with this patch to the fglrx driver:

--- firegl_public.c-orig        2006-02-23 14:54:16.386740016 -0600
+++ firegl_public.c     2006-02-23 14:56:38.054203288 -0600
@@ -361,13 +361,15 @@
 } firegl_drm_stub_info_t;
 static firegl_drm_stub_info_t firegl_stub_info;

-#if LINUX_VERSION_CODE < 0x020400
+#if LINUX_VERSION_CODE > 0x02060F
 struct firegl_drm_stub_info_t *firegl_stub_pointer = NULL;
 #define inter_module_put(x)
 #define inter_module_unregister(x)
 #define inter_module_get_request(x,y)   firegl_stub_pointer
 #define inter_module_register(x,y,z)    do { firegl_stub_pointer = z; } while 
(0)
+#endif
 /* This is a kludge for backward compatibility that is only useful in 
DRM(stub_open) */
+#if LINUX_VERSION_CODE < 0x020400
 #define fops_put(fops)      MOD_DEC_USE_COUNT
 #define fops_get(fops)      (fops); MOD_INC_USE_COUNT
 #endif // LINUX_VERSION_CODE < 0x020400

see here:

http://www.rage3d.com/board/showthread.php?t=33847019

Jan

-- 
Fashions have done more harm than revolutions.
		-- Victor Hugo