ioperm
Christopher R. Johnson
cjohnson at gcctech.com
Wed Apr 28 01:59:02 EST 2004
I've seen that also - if I remember correctly, it was an issue with the
toolchain. I don't use eldk however, I roll my own. Check your include
paths and the linker. Also, in my environment its #include <sys/io.h>
for ioperm stuff.
Sergey Urvanov wrote:
>Hi
>Anybody seen this error?
>I'm getting it while trying to compile for a ppc405EP based board,
>using the ELDK 2.1 toolchain (ppc_4xx).
>
>I have a problem with next test code:
>
>#include <stdlib.h>
>#include <stdio.h>
>#include <unistd.h>
>#include <errno.h>
>#include <asm/io.h>
>
>#define BASEPORT 0x378
>
>
>int main (int argc,
> char *argv[])
>{
> int kz=0;
> if (ioperm(BASEPORT, 3, 1))
> {
> perror ("ioperm");
> exit (1);
> }
> outb(0, BASEPORT);
> printf ("status 1 %d\n", kz);
> usleep (100000);
> kz=inb(BASEPORT+1);
> printf ("status 2 %d\n", kz);
> if (ioperm(BASEPORT, 3, 0))
> {
> perror ("ioperm");
> exit (1);
> }
> printf ("Stop \n");
> return 0;
>}
>
>
>I try to make:
>
>/opt/eldk/usr/ppc-linux/bin/gcc -c -O2 test.c
>/opt/eldk/usr/ppc-linux/bin/gcc -o test test.o
>
>And in the answer:
>
>test.o: In function `main':
>test.o(.text+0x2c): undefined reference to `ioperm'
>test.o(.text+0x2c): relocation truncated to fit: R_PPC_REL24 ioperm
>test.o(.text+0x54): undefined reference to `outb'
>test.o(.text+0x54): relocation truncated to fit: R_PPC_REL24 outb
>test.o(.text+0x78): undefined reference to `inb'
>test.o(.text+0x78): relocation truncated to fit: R_PPC_REL24 inb
>test.o(.text+0x98): undefined reference to `ioperm'
>test.o(.text+0x98): relocation truncated to fit: R_PPC_REL24 ioperm
>collect2: ld returned 1 exit status
>
>Any help would be appreciated.
>
>Thanx and regards
>Sergey Urvanov
>
>
>
--
Christopher R. Johnson
Principal Software Engineer
GCC Printers
(781)276-8763
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list