This is the mail archive of the
ecos-discuss@sourceware.cygnus.com
mailing list for the eCos project.
RE: abs() defined in two places
- To: Grant Edwards <grante at visi dot com>
- Subject: RE: [ECOS] abs() defined in two places
- From: Gary Thomas <gthomas at redhat dot com>
- Date: Mon, 03 Apr 2000 10:46:16 -0600 (MDT)
- Cc: ecos-discuss at sourceware dot cygnus dot com
I've seen this before. While I don't have a perfect solution, simply
add the line:
#define LIBKERN_INLINE // Avoid kernel inline functions
before you include <network.h>.
Note: I may end up adding this to <network.h>.
On 03-Apr-00 Grant Edwards wrote:
>
> It looks like my installation of the 1.3.1 headers are defining abs()
> in two places: stdlib.h and libkern.h.
>
> ------------------------------testit.c------------------------------
>#include <stdlib.h>
>#include <network.h>
>
> int j;
> --------------------------------------------------------------------
>
> $make
> arm-elf-gcc -g -mcpu=arm7tdmi -mbig-endian -c -o testit.o -fverbose-asm -Wa,-ahlsn=testit.lst -O0
> -D__ECOS -I../ecos/include -Wall testit.c
> In file included from ../ecos/include/machine/param.h:91,
> from ../ecos/include/sys/param.h:166,
> from ../ecos/include/network.h:60,
> from testit.c:2:
> ../ecos/include/lib/libkern/libkern.h:113: warning: static declaration for abs' follows
> non-static
>
> arm-elf-gcc -g -mcpu=arm7tdmi -mbig-endian -Wl,-Map,testit.map -nostartfiles -L../ecos/lib -o
> testit testit.o -Ttarget.ld -nostdlib
>
>
> I thought maybe I had my CFLAGS set wrong, but from looking at the include
> files, I can't see anything obvious. (The program works fine, I'm just trying
> to get rid of all of the compiler warnings.)
>
> --
> Grant Edwards
> grante@visi.com
>