From: <fh...@at...> - 2000-07-29 23:16:52
|
I decided to try developing my driver projects as modules in order to save reboot cycles. When I do this, trying to follow the module programming advice I got, I get unresolved symbols. How do I get rid of these? These symbols appear to be routines burried in the kernel various places. The PowerUP SCSI module: 53c770.o: unresolved symbol virt_to_phys 53c770.o: unresolved symbol in_be16 53c770.o: unresolved symbol out_8 53c770.o: unresolved symbol in_8 53c770.o: unresolved symbol init_timer 53c770.o: unresolved symbol __fswab32 53c770.o: unresolved symbol virt_to_bus 53c770.o: unresolved symbol out_be32 53c770.o: unresolved symbol __restore_flags 53c770.o: unresolved symbol out_be16 53c770.o: unresolved symbol udelay The Delfina Plus module: dsp56k.o: unresolved symbol __get_user_bad dsp56k.o: unresolved symbol __put_user_bad dsp56k.o: unresolved symbol udelay The Hypercom4+ module: ser_hypercom4.o: unresolved symbol queue_task ser_hypercom4.o: unresolved symbol mark_bh ser_hypercom4.o: unresolved symbol __restore_flags ser_hypercom4.o: unresolved symbol unregister_serial ser_hypercom4.o: unresolved symbol register_serial Fred |
From: Geert U. <ge...@li...> - 2000-07-30 14:28:30
|
On Sat, 29 Jul 2000 fh...@at... wrote: > I decided to try developing my driver projects as modules in order to save > reboot cycles. When I do this, trying to follow the module programming > advice I got, I get unresolved symbols. How do I get rid of these? These > symbols appear to be routines burried in the kernel various places. General solution: add `EXPORT_SYMBOL(unknown_symbol)' to some kernel source file. > The PowerUP SCSI module: > > 53c770.o: unresolved symbol virt_to_phys virt_to_phys() is an inline function (see include/asm-ppc/io.h), so this should not happen. 1. Does the compiler complain about functions without a prototype? Many functions are inline, but of course they are defined if you include the correct header files only. 2. Do you compile with optimization? If not, enable optimization. 3. Do you compile with -D__KERNEL__? virt_to_phys() is defined inside #idef __KERNEL_/#endif The same is true for many other symbols. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li... In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds |
From: Gordon H. <go...@gh...> - 2000-07-30 14:46:42
|
fh...@at... wrote: > ser_hypercom4.o: unresolved symbol unregister_serial > ser_hypercom4.o: unresolved symbol register_serial These should now be m68k_unregister_serial() and m68k_register_serial(), Don't know why though. :) Kind Regards, Gordon. |
From: Giorgio T. <de...@ip...> - 2000-07-30 17:56:36
|
fh...@at... wrote: > I decided to try developing my driver projects as modules in order to save > reboot cycles. When I do this, trying to follow the module programming > advice I got, I get unresolved symbols. How do I get rid of these? These > symbols appear to be routines burried in the kernel various places. > > The Hypercom4+ module: > > ser_hypercom4.o: unresolved symbol queue_task > ser_hypercom4.o: unresolved symbol mark_bh > ser_hypercom4.o: unresolved symbol __restore_flags > ser_hypercom4.o: unresolved symbol unregister_serial > ser_hypercom4.o: unresolved symbol register_serial > > Fred > I can only answer for serial driver's code: With IOBlix driver i found a similar problem with register_serial() & unregister_serial() functions. I used m68k_register_serial() & m68k_unregister_serial() instead, interfacing myself with Roman Hodek's m68kserial driver and the problem was solved. Regards Giorgio |
From: Michel <dae...@st...> - 2000-07-30 19:05:01
|
Giorgio Terzi wrote: > > fh...@at... wrote: > > > I decided to try developing my driver projects as modules in order to save > > reboot cycles. When I do this, trying to follow the module programming > > advice I got, I get unresolved symbols. How do I get rid of these? These > > symbols appear to be routines burried in the kernel various places. > > > > The Hypercom4+ module: > > > > ser_hypercom4.o: unresolved symbol queue_task > > ser_hypercom4.o: unresolved symbol mark_bh > > ser_hypercom4.o: unresolved symbol __restore_flags > > ser_hypercom4.o: unresolved symbol unregister_serial > > ser_hypercom4.o: unresolved symbol register_serial > > > > Fred > > > > I can only answer for serial driver's code: > With IOBlix driver i found a similar problem with register_serial() > & unregister_serial() functions. > I used m68k_register_serial() & m68k_unregister_serial() instead, > interfacing myself with Roman Hodek's m68kserial driver and the problem > was solved. This may be a quick fix for that problem, however AFAIK the m68kserial isn't accepted by Linus and isn't in the native tree nor our 2.4 tree, which should really be our primary development target now. There's a new amiga serial driver - amiserial.c - in 2.4 . I'd like to have mainly only bug fixes (apart from the upgrade to 2.2.16, if anyone really wants to do that...) in the 2.2 tree from now on. Michel -- Men are from Earth. Women are from Earth. Deal with it. ______________________________________________________________________________ Earthling Michel Dänzer (MrCooper) \ CS student and free software enthusiast Debian GNU/Linux (powerpc,i386) user \ member of XFree86, Team *AMIGA*, AUGS |
From: Gordon H. <go...@gh...> - 2000-07-30 19:45:17
|
Michel Dänzer wrote: > > Giorgio Terzi wrote: > > > > fh...@at... wrote: > > > > > I decided to try developing my driver projects as modules in order to save > > > reboot cycles. When I do this, trying to follow the module programming > > > advice I got, I get unresolved symbols. How do I get rid of these? These > > > symbols appear to be routines burried in the kernel various places. > > > > > > The Hypercom4+ module: > > > > > > ser_hypercom4.o: unresolved symbol queue_task > > > ser_hypercom4.o: unresolved symbol mark_bh > > > ser_hypercom4.o: unresolved symbol __restore_flags > > > ser_hypercom4.o: unresolved symbol unregister_serial > > > ser_hypercom4.o: unresolved symbol register_serial > > > > > > Fred > > > > > > > I can only answer for serial driver's code: > > With IOBlix driver i found a similar problem with register_serial() > > & unregister_serial() functions. > > I used m68k_register_serial() & m68k_unregister_serial() instead, > > interfacing myself with Roman Hodek's m68kserial driver and the problem > > was solved. > > This may be a quick fix for that problem, however AFAIK the m68kserial isn't > accepted by Linus and isn't in the native tree nor our 2.4 tree, which should > really be our primary development target now. There's a new amiga serial > driver - amiserial.c - in 2.4 . I think I did mention that to Fred :-) Anyway I'm working on a new driver for 2.3. This time, the hypercom1 driver is going to use the generic_serial.c code. > I'd like to have mainly only bug fixes (apart from the upgrade to 2.2.16, if > anyone really wants to do that...) in the 2.2 tree from now on. 2.2.16 supports IP Masquerading, So I would like to see that done. Kind Regards, Gordon. |
From: Gordon H. <go...@gh...> - 2000-07-30 19:43:49
|
Giorgio Terzi wrote: > > ser_hypercom4.o: unresolved symbol unregister_serial > > ser_hypercom4.o: unresolved symbol register_serial > > > > Fred > > > > I can only answer for serial driver's code: > With IOBlix driver i found a similar problem with register_serial() > & unregister_serial() functions. > I used m68k_register_serial() & m68k_unregister_serial() instead, > interfacing myself with Roman Hodek's m68kserial driver and the problem > was solved. Yes, but unregister_serial and register_serial are in apus_setup.c. So why don't the modules see that symbol? Kind Regards, Gordon. |
From: <fh...@at...> - 2000-07-31 12:24:37
|
In <398...@ip...>, on 07/30/00 at 09:51 PM, Giorgio Terzi <de...@ip...> said: >fh...@at... wrote: >I can only answer for serial driver's code: >With IOBlix driver i found a similar problem with register_serial() & >unregister_serial() functions. >I used m68k_register_serial() & m68k_unregister_serial() instead, >interfacing myself with Roman Hodek's m68kserial driver and the problem >was solved. Changing to the "m68k" functions and adding -O to the gcc options fixed all the undefined symbols problems. Thanks! Fred |
From: Michel <dae...@st...> - 2000-07-30 20:05:27
|
Gordon Huby wrote: > > > > ser_hypercom4.o: unresolved symbol unregister_serial > > > > ser_hypercom4.o: unresolved symbol register_serial > > > > > > > > Fred > > > > > > > > > > I can only answer for serial driver's code: > > > With IOBlix driver i found a similar problem with register_serial() > > > & unregister_serial() functions. > > > I used m68k_register_serial() & m68k_unregister_serial() instead, > > > interfacing myself with Roman Hodek's m68kserial driver and the problem > > > was solved. > > Yes, but unregister_serial and register_serial are in apus_setup.c. > > So why don't the modules see that symbol? I imagine because there is no EXPORT_SYMBOL for them - they could be added to arch/ppc/kernel/ppc_ksyms.c I guess. > > This may be a quick fix for that problem, however AFAIK the m68kserial isn't > > accepted by Linus and isn't in the native tree nor our 2.4 tree, which should > > really be our primary development target now. There's a new amiga serial > > driver - amiserial.c - in 2.4 . > > I think I did mention that to Fred :-) Anyway I'm working on a new > driver for 2.3. This time, the hypercom1 driver is going to use the > generic_serial.c code. Very good! > > I'd like to have mainly only bug fixes (apart from the upgrade to 2.2.16, if > > anyone really wants to do that...) in the 2.2 tree from now on. > > 2.2.16 supports IP Masquerading, So I would like to see that done. 2.4 also supports that, it even provides compatibility to 2.2 ipchains. Michel -- [I'm in MacOS here, so no funny .sig ;] |
From: Gordon H. <go...@gh...> - 2000-07-31 20:54:46
|
Michel D?nzer wrote: > > Yes, but unregister_serial and register_serial are in apus_setup.c. > > > > So why don't the modules see that symbol? > > I imagine because there is no EXPORT_SYMBOL for them - they could be added to > arch/ppc/kernel/ppc_ksyms.c I guess. Yes, that would explain it. :) > > > I'd like to have mainly only bug fixes (apart from the upgrade to 2.2.16, if > > > anyone really wants to do that...) in the 2.2 tree from now on. > > > > 2.2.16 supports IP Masquerading, So I would like to see that done. > > 2.4 also supports that, it even provides compatibility to 2.2 ipchains. Thats good to hear. I would like to compile 2.4, but It refuses to compile with egcs 1.1.2. Should I switch to gcc? Kind Regards, Gordon. |
From: Michel <dae...@st...> - 2000-08-01 16:37:43
|
Gordon Huby wrote: > > > > I'd like to have mainly only bug fixes (apart from the upgrade to > > > > 2.2.16, if anyone really wants to do that...) in the 2.2 tree from now > > > > on. > > > > > > 2.2.16 supports IP Masquerading, So I would like to see that done. > > > > 2.4 also supports that, it even provides compatibility to 2.2 ipchains. > > Thats good to hear. > > I would like to compile 2.4, but It refuses to compile with egcs 1.1.2. > Should I switch to gcc? I recommend upgrading to the latest gcc (I have 2.95.2), however not all compiling problems are due to the compiler. Please post the problems you have. Michel -- Be vewy vewy quiet! I'm weloading! ______________________________________________________________________________ Earthling Michel Dänzer (MrCooper) \ CS student and free software enthusiast Debian GNU/Linux (powerpc,i386) user \ member of XFree86, Team *AMIGA*, AUGS |
From: Gordon H. <go...@gh...> - 2000-08-01 21:36:18
Attachments:
egcs-1.1.2-error
|
Michel Dänzer wrote: > > I would like to compile 2.4, but It refuses to compile with egcs 1.1.2. > > Should I switch to gcc? > > I recommend upgrading to the latest gcc (I have 2.95.2), however not all > compiling problems are due to the compiler. Please post the problems you have. |
From: No S. <no...@no...> - 2000-08-01 22:13:58
|
On Tue, 1 Aug 2000, Gordon Huby wrote: > signal.c > signal.c: In function `do_sigaction': > signal.c:921: fixed or forbidden register 68 (0) was spilled for class CR0_REGS. > This may be due to a compiler bug or to impossible asm statements or clauses. Same error I get. Ken. |
From: Glenn H. <gh...@c2...> - 2000-08-01 22:24:13
|
Hello, > On Tue, 1 Aug 2000, Gordon Huby wrote: >> signal.c >> signal.c: In function `do_sigaction': signal.c:921: fixed or forbidden >> register 68 (0) was spilled for class CR0_REGS. This may be due to a >> compiler bug or to impossible asm statements or clauses. > Same error I get. > Ken. I got that too. Updating to the latest gcc compiler fixed the problem. I still can't get the cybervision64 driver to work in 2.4 though (It compiles fine, but I can't use it). The kernel just uses amifb:vga even if i tell it to use cyberfb... - glenn |
From: Ken T. <ke...@we...> - 2000-08-02 00:58:32
|
On Wed, 2 Aug 2000, Glenn Hisdal wrote: > I got that too. > Updating to the latest gcc compiler fixed the problem. What version and where from ? > I still can't get the cybervision64 driver to work in 2.4 though (It > compiles fine, but I can't use it). > The kernel just uses amifb:vga even if i tell it to use cyberfb... I suspect many things in video/graphics department in 2.4. Ken. |
From: Glenn H. <gh...@c2...> - 2000-08-02 10:28:15
|
Hello Ken On 02-Aug-2000, you wrote: >> I got that too. >> Updating to the latest gcc compiler fixed the problem. > What version and where from ? version 2.95.2-1g from ftp://ftp.linuxppc.org/linuxppc-2000/software/ There are some other files that probably needs to be updated to. I remember getting the latest binutils from the same place, and I think there was some other files to. Just try to install it, and if it complains about missing dependencies (or something like that) get the required files here. - glenn |
From: Michel <da...@re...> - 2000-08-02 08:33:42
|
Glenn Hisdal wrote: > I still can't get the cybervision64 driver to work in 2.4 though (It > compiles fine, but I can't use it). > The kernel just uses amifb:vga even if i tell it to use cyberfb... Looking at drivers/video/fbmem.c, you should try video=cyber:... Michel -- So many Christians, so few lions. ______________________________________________________________________________ Earthling Michel Dänzer (MrCooper) \ CS student and free software enthusiast Debian GNU/Linux (powerpc,i386) user \ member of XFree86, Team *AMIGA*, AUGS |
From: Alan B. <al...@ms...> - 2000-08-02 09:25:32
|
hi, > > The kernel just uses amifb:vga even if i tell it to use cyberfb... > > Looking at drivers/video/fbmem.c, you should try video=cyber:... all of them should be changed to xxxxfb rather than a mixed bunch. standardisation makes sense. What will a name-change mess up? alan |
From: Michel <da...@re...> - 2000-08-02 09:35:02
|
Alan Buxey wrote: > > > The kernel just uses amifb:vga even if i tell it to use cyberfb... > > > > Looking at drivers/video/fbmem.c, you should try video=cyber:... > > all of them should be changed to xxxxfb rather than a mixed bunch. > standardisation makes sense. What will a name-change mess up? AFAIR the idea in 2.4 is to remove the trailing fb from all of them, but let's wait for Geert's comment on this. Michel -- Five days a week my body is a temple. The other two, it's an amusement park. ______________________________________________________________________________ Earthling Michel Dänzer (MrCooper) \ CS student and free software enthusiast Debian GNU/Linux (powerpc,i386) user \ member of XFree86, Team *AMIGA*, AUGS |
From: Alan B. <al...@ms...> - 2000-08-02 10:09:01
|
hi, > AFAIR the idea in 2.4 is to remove the trailing fb from all of them, but let's > wait for Geert's comment on this. :-) either way, it'll be standardisation alan |
From: Geert U. <ge...@li...> - 2000-08-02 19:40:53
|
On Wed, 2 Aug 2000, Michel [iso-8859-1] Dänzer wrote: > Alan Buxey wrote: > > > > The kernel just uses amifb:vga even if i tell it to use cyberfb... > > > > > > Looking at drivers/video/fbmem.c, you should try video=cyber:... > > > > all of them should be changed to xxxxfb rather than a mixed bunch. > > standardisation makes sense. What will a name-change mess up? > > AFAIR the idea in 2.4 is to remove the trailing fb from all of them, but let's > wait for Geert's comment on this. I'm a bit reluctant to change them, since such changes cause a lot of bug reports from people used to the old syntax. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li... In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds |
From: Alan B. <al...@ms...> - 2000-08-04 10:27:44
|
hi, > I'm a bit reluctant to change them, since such changes cause a lot of bug > reports from people used to the old syntax. if this is done (ie reanming them) then I'll be happy to add a few clear lines to the readme file of the kernel precompile alan |
From: Glenn H. <gh...@c2...> - 2000-08-02 10:28:16
|
Hello Michel On 02-Aug-2000, you wrote: >> I still can't get the cybervision64 driver to work in 2.4 though (It >> compiles fine, but I can't use it). >> The kernel just uses amifb:vga even if i tell it to use cyberfb... > Looking at drivers/video/fbmem.c, you should try video=cyber:... Yes, that's what I use... (video=cyber:800x600-8) won't work. Guess I'll have to stick with 2.2.10 a litte longer. If I'm lucky, maybe DCE will send some cvisionppc cards to norway soon. I've been waiting for one since January :-( - glenn |
From: Geert U. <ge...@li...> - 2000-08-02 19:40:05
|
On Wed, 2 Aug 2000, Glenn Hisdal wrote: > On 02-Aug-2000, you wrote: > >> I still can't get the cybervision64 driver to work in 2.4 though (It > >> compiles fine, but I can't use it). > >> The kernel just uses amifb:vga even if i tell it to use cyberfb... > > > Looking at drivers/video/fbmem.c, you should try video=cyber:... > > Yes, that's what I use... (video=cyber:800x600-8) > won't work. Guess I'll have to stick with 2.2.10 a litte longer. Please #define CYBERFBDEBUG in drivers/video/cyberfb.c and tell us more. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@li... In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds |
From: Glenn H. <gh...@c2...> - 2000-08-02 22:28:51
|
Hello Geert On 02-Aug-2000, you wrote: > On Wed, 2 Aug 2000, Glenn Hisdal wrote: >> On 02-Aug-2000, you wrote: >>>> I still can't get the cybervision64 driver to work in 2.4 though (It >>>> compiles fine, but I can't use it). >>>> The kernel just uses amifb:vga even if i tell it to use cyberfb... >> >>> Looking at drivers/video/fbmem.c, you should try video=cyber:... >> >> Yes, that's what I use... (video=cyber:800x600-8) >> won't work. Guess I'll have to stick with 2.2.10 a litte longer. > Please #define CYBERFBDEBUG in drivers/video/cyberfb.c and tell us more. done. Here's the dmesg output : parse_bootinfo: unknown tag 0x8008 ignored parse_bootinfo: unknown tag 0x8009 ignored Total memory = 64MB; using 256kB for hash table (at c0200000) Linux version 2.4.0-test4 (ro...@gu...d) (gcc version 2.95.2 19991024 (release/franzo)) #1 Wed Aug 2 23:29:25 GMT 2000 Amiga hardware found: [A4000] VIDEO BLITTER AUDIO FLOPPY A4000_IDE KEYBOARD MOUSE SERIAL PARALLEL A3000_CLK CHIP_RAM PAULA LISA ALICE_PAL ZORRO3 On node 0 totalpages: 16384 zone(0): 16384 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: root=/dev/hda7 video=cyber:800x600-8 60nsram cyberfb_setup: ENTER get_video_mode: ENTER get_video_mode: EXIT - Matched predefined mode cyberfb_setup: default mode: xres=800, yres=600, bpp=8 cyberfb_setup: EXIT amiga_enable_irq: Trying to enable auto-vector IRQ 1 amiga_enable_irq: Trying to enable auto-vector IRQ 3 amiga_enable_irq: Trying to enable auto-vector IRQ 4 amiga_enable_irq: Trying to enable auto-vector IRQ 5 amiga_enable_irq: Trying to enable auto-vector IRQ 7 amiga_enable_irq: Trying to enable auto-vector IRQ 2 amiga_enable_irq: Trying to enable auto-vector IRQ 6 APUS: BATs=1, BUS=66MHz, RAM=60ns, PCI bridge=0 time_init: decrementer frequency = 990000000/60 Console: colour dummy device 80x25 Calibrating delay loop... 460.39 BogoMIPS Memory: 61296k available (1256k kernel code, 512k data, 80k init) [c0000000,c4000000] Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes) Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes) Page-cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 4096 (order: 3, 32768 bytes) POSIX conformance testing by UNIFIX Zorro: Probing AutoConfig expansion devices: 3 devices Linux NET4.0 for Linux 2.3 Based upon Swansea University Computer Society NET3.039 NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 4096 bind 4096) Starting kswapd v1.6 cyberfb_init: ENTER amiga_insert_irq: Warning: dev_id of fb vertb handler is zero Console: switching to colour frame buffer device 80x25 fb0: Amiga AGA frame buffer device, using 1280K of video memory pty: 256 Unix98 ptys configured RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize loop: registered device at major 7 loop: enabling 8 loop devices Uniform Multi-Platform E-IDE driver Revision: 6.31 ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx ide0: Gayle IDE interface (A4000 style) hda: probing with STATUS(0x50) instead of ALTSTATUS(0xe0) hda: WDC AC313000R, ATA DISK drive hdb: probing with STATUS(0x51) instead of ALTSTATUS(0xe0) hdb: probing with STATUS(0x51) instead of ALTSTATUS(0xe0) hdb: probing with STATUS(0x51) instead of ALTSTATUS(0xe0) hdb: CRD-8240B, ATAPI CDROM drive ide0 at 80dd2020 on irq 0x0000000c hda: 25429824 sectors (13020 MB) w/512KiB Cache, CHS=25228/16/63 hdb: ATAPI 24X CD-ROM drive, 128kB Cache Uniform CD-ROM driver Revision: 3.11 Partition check: hda: RDSK hda1 hda2 hda3 hda4 hda5 hda6 hda7 hda8 hda9 hda10 hda11 FD: probing units found fd0 Amiga-builtin serial driver version 4.30 ttyS00 is the amiga builtin serial port Amiga mouse installed. PPP generic driver version 2.4.1 PPP Deflate Compression module registered PPP BSD Compression module registered kmem_create: Forcing size word alignment - nfs_fh VFS: Mounted root (ext2 filesystem) readonly. Freeing unused kernel memory: 80k init Adding Swap: 115916k swap-space (priority -1) nfs warning: mount version older than kernel - glenn |