AW: AW: [uClinux-dev] FP-problems with arm-linux-tools-20061213

2007-03-08 Thread Wolf, Josef
> >>> To solve this, I put CFLAGS += -msoft-float in
> >>> vendors/config/armnommu/config.arch.  Then the error changes into:
> >> This final link line will need a "-msoft-float" as well.
> >> Otherwise it will try to link against the wrong libgcc.a
> > Ough... I would not have been asked if it would be _that_ easy ;-)

I think I have found the proper place where to put this option:  It
belongs into $(CPUFLAGS) in vendors/VENDOR/BOARD/config.arch.

I'd like to put the check_gcc constructs for -no-fpu and
-malignment-traps
into this place too, but unfortunately, the $(CC) is not set at that
stage, thus check_gcc would check against the host-compiler :-(

___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] FP-problems with arm-linux-tools-20061213

2007-03-08 Thread Greg Ungerer


Hi Erwin,

Erwin Authried wrote:

-EB ??? I thought that is for big endian linking, isn't it?
I believe that the linker doesn't have any option for hard/soft FP, it's
the compilers task to create the right object files, and the linker just
has to be feeded with the right combination of object files and
libraries.


Doh!

Yes, you are right, I was confusing the options there.

Regards
Greg




Greg Ungerer  --  Chief Software Dude   EMAIL: [EMAIL PROTECTED]
SnapGear -- a Secure Computing Company  PHONE:   +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: AW: [uClinux-dev] FP-problems with arm-linux-tools-20061213

2007-03-08 Thread Greg Ungerer


Hi Josef,

Wolf, Josef wrote:

Thanks for your answer, Greg!


To solve this, I put CFLAGS += -msoft-float in
vendors/config/armnommu/config.arch.  Then the error changes into:

This final link line will need a "-msoft-float" as well.
Otherwise it will try to link against the wrong libgcc.a


Ough... I would not have been asked if it would be _that_ easy ;-)


Well, from your last email:


  ucfront-gcc arm-linux-gcc  -Wl,-elf2flt -D__PIC__ -fpic
-msingle-pic-base -o boa alias.o auth.o boa.o cgi.o cgi_header.o
config.o get.o hash.o globals.o log.o nls.o pipe.o queue.o read.o
request.o response.o signals.o timestamp.o util.o -lcrypt


And that has no "-msoft-float".



When I put LDFLAGS += -msoft-float in vendors/config/armnommu/config.arch,
arm-linux-ld complains about unsupported emulation mode when it tries to
link the kernel:


Which LDFLAGS in config.arch did you change?
And which uClinux-dist are you using?

The current version (from 20070130) has many LDFLAGS options
that already contain -msoft-float... See
http://cvs.uclinux.org/cgi-bin/cvsweb.cgi/~checkout~/uClinux-dist/vendors/config/armnommu/config.arch?rev=1.1.1.9;content-type=text%2Fplain

Regards
Greg




  [ ... ]
  arm-linux-gcc -D__KERNEL__ 
-I/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/include  -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common 
-fno-common -pipe -fno-builtin -D__linux__ -g -DNO_MM -mapcs-32 -march=armv4 
-mtune=arm7tdmi -malignment-traps -msoft-float-DKBUILD_BASENAME=do_mounts 
-c -o init/do_mounts.o init/do_mounts.c
  In file included from init/do_mounts.c:18:
  
/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/include/linux/cramfs_fs.h:120:2: 
warning: #warning "__BYTE_ORDER == __LITTLE_ENDIAN"
  make[3]: Entering directory 
`/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/arch/armnommu/tools'
  make[3]: Für das Ziel »all« ist nichts zu tun.
  make[3]: Leaving directory 
`/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/arch/armnommu/tools'
  make CFLAGS="-D__KERNEL__ 
-I/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/include  -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-common -pipe 
-fno-builtin -D__linux__ -g -DNO_MM -mapcs-32 -march=armv4 -mtune=arm7tdmi 
-malignment-traps -msoft-float  " -C  kernel
  make[3]: Entering directory 
`/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/kernel'
  make all_targets
  make[4]: Entering directory 
`/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/kernel'
  rm -f kernel.o
  arm-linux-ld -msoft-float   -r -o kernel.o sched.o fork.o exec_domain.o 
panic.o printk.o module.o exit.o itimer.o info.o time.o softirq.o resource.o 
sysctl.o acct.o capability.o ptrace.o timer.o user.o signal.o sys.o kmod.o 
context.o uid16.o ksyms.o
  /usr/local/bin/arm-linux-ld.real: unrecognised emulation mode: soft-float
  Supported emulations: armelf_linux armelf
  [ ... ]

Can you give me a hint where to put the option to cause the final link
to use the proper libgcc?
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev




--

Greg Ungerer  --  Chief Software Dude   EMAIL: [EMAIL PROTECTED]
SnapGear -- a Secure Computing Company  PHONE:   +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


AW: [uClinux-dev] FP-problems with arm-linux-tools-20061213

2007-03-08 Thread Wolf, Josef
Thanks for your answer, Greg!

> > To solve this, I put CFLAGS += -msoft-float in
> > vendors/config/armnommu/config.arch.  Then the error changes into:
> 
> This final link line will need a "-msoft-float" as well.
> Otherwise it will try to link against the wrong libgcc.a
> 

Ough... I would not have been asked if it would be _that_ easy ;-)

When I put LDFLAGS += -msoft-float in vendors/config/armnommu/config.arch,
arm-linux-ld complains about unsupported emulation mode when it tries to
link the kernel:

  [ ... ]
  arm-linux-gcc -D__KERNEL__ 
-I/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/include  -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common 
-fno-common -pipe -fno-builtin -D__linux__ -g -DNO_MM -mapcs-32 -march=armv4 
-mtune=arm7tdmi -malignment-traps -msoft-float-DKBUILD_BASENAME=do_mounts 
-c -o init/do_mounts.o init/do_mounts.c
  In file included from init/do_mounts.c:18:
  
/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/include/linux/cramfs_fs.h:120:2:
 warning: #warning "__BYTE_ORDER == __LITTLE_ENDIAN"
  make[3]: Entering directory 
`/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/arch/armnommu/tools'
  make[3]: Für das Ziel »all« ist nichts zu tun.
  make[3]: Leaving directory 
`/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/arch/armnommu/tools'
  make CFLAGS="-D__KERNEL__ 
-I/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/include  -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common 
-fno-common -pipe -fno-builtin -D__linux__ -g -DNO_MM -mapcs-32 -march=armv4 
-mtune=arm7tdmi -malignment-traps -msoft-float  " -C  kernel
  make[3]: Entering directory 
`/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/kernel'
  make all_targets
  make[4]: Entering directory 
`/m/l/embedded/uclinux/uClinux-dist-20051014/linux-2.4.32/kernel'
  rm -f kernel.o
  arm-linux-ld -msoft-float   -r -o kernel.o sched.o fork.o exec_domain.o 
panic.o printk.o module.o exit.o itimer.o info.o time.o softirq.o resource.o 
sysctl.o acct.o capability.o ptrace.o timer.o user.o signal.o sys.o kmod.o 
context.o uid16.o ksyms.o
  /usr/local/bin/arm-linux-ld.real: unrecognised emulation mode: soft-float
  Supported emulations: armelf_linux armelf
  [ ... ]

Can you give me a hint where to put the option to cause the final link
to use the proper libgcc?
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] FP-problems with arm-linux-tools-20061213

2007-03-08 Thread Erwin Authried
Am Donnerstag, den 08.03.2007, 12:43 +1000 schrieb Greg Ungerer:
> Hi Josef,
> 
> Wolf, Josef wrote:
> > I have a problem with HW/SW floating-point mismatches when I try to
> > compile uClinux-dist-20051014 with arm-linux-tools-20061213.  The
> > problem
> > appears when compilation of the user directory (starting with boa)
> > starts
> > 
> >   [ ... ]
> >   ucfront-gcc arm-linux-gcc  -Os -g
> > -fomit-frame-pointer -fno-common -fno-builtin -Wall   -DEMBED -D__PIC__
> > -fpic -msingle-pic-base -Dlinux -D__linux__ -Dunix -D__uClinux__
> > -malignment-traps  -DSYSLOGS_AT_EMERG -DBOA_TIME_LOG   -c -o util.o
> > util.c
> >   ucfront-gcc arm-linux-gcc  -Wl,-elf2flt -D__PIC__ -fpic
> > -msingle-pic-base -o boa alias.o auth.o boa.o cgi.o cgi_header.o
> > config.o get.o hash.o globals.o log.o nls.o pipe.o queue.o read.o
> > request.o response.o signals.o timestamp.o util.o -lcrypt
> >  
> > /m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
> > rm-linux/3.4.4/../../../../arm-linux/bin/ld.real: ERROR: alias.o uses
> > hardware FP, whereas boa.gdb uses software FP
> >  
> > /m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
> > rm-linux/3.4.4/../../../../arm-linux/bin/ld.real: failed to merge target
> > specific data of file alias.o
> >   [ ... ]
> > 
> > To solve this, I put CFLAGS += -msoft-float in
> > vendors/config/armnommu/config.arch.  Then the error changes into:
> > 
> >   [ ... ]
> >   ucfront-gcc arm-linux-gcc  -Os -g
> > -fomit-frame-pointer -fno-common -fno-builtin -Wall   -DEMBED -D__PIC__
> > -fpic -msingle-pic-base -Dlinux -D__linux__ -Dunix -D__uClinux__
> > -msoft-float -malignment-traps  -DSYSLOGS_AT_EMERG -DBOA_TIME_LOG   -c
> > -o util.o util.c
> >   ucfront-gcc arm-linux-gcc  -Wl,-elf2flt -D__PIC__ -fpic
> > -msingle-pic-base -o boa alias.o auth.o boa.o cgi.o cgi_header.o
> > config.o get.o hash.o globals.o log.o nls.o pipe.o queue.o read.o
> > request.o response.o signals.o timestamp.o util.o -lcrypt
> 
> This final link line will need a "-msoft-float" as well.
> Otherwise it will try to link against the wrong libgcc.a
> 
> 
> > /m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
> > rm-linux/3.4.4/../../../../arm-linux/bin/ld.real: ERROR:
> > /m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
> > rm-linux/3.4.4/libgcc.a(_udivsi3.o) uses hardware FP, whereas boa.gdb
> > uses software FP
> >  
> > /m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
> > rm-linux/3.4.4/../../../../arm-linux/bin/ld.real: failed to merge target
> > specific data of file
> > /m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
> > rm-linux/3.4.4/libgcc.a(_udivsi3.o)
> >   [ ... ]
> > 
> > indicating that boa is linked against a library with HW-FP.  I have
> > checked documentation of gcc and ld, but I can't find how to tell the
> > linker to link against a library with SW-FP.  The linker don't seem
> > to like -msoft-float.
> > 
> > Can anybody tell me how to tell the linker against libraries with SW-FP?
> 
> If you are direct using the linker you would want "-EB". But if you are
> linking through gcc then you just use "-msoft-float".
> 
> Regards
> Greg

-EB ??? I thought that is for big endian linking, isn't it?
I believe that the linker doesn't have any option for hard/soft FP, it's
the compilers task to create the right object files, and the linker just
has to be feeded with the right combination of object files and
libraries.

Regards,
Erwin


___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


Re: [uClinux-dev] FP-problems with arm-linux-tools-20061213

2007-03-07 Thread Greg Ungerer

Hi Josef,

Wolf, Josef wrote:

I have a problem with HW/SW floating-point mismatches when I try to
compile uClinux-dist-20051014 with arm-linux-tools-20061213.  The
problem
appears when compilation of the user directory (starting with boa)
starts

  [ ... ]
  ucfront-gcc arm-linux-gcc  -Os -g
-fomit-frame-pointer -fno-common -fno-builtin -Wall   -DEMBED -D__PIC__
-fpic -msingle-pic-base -Dlinux -D__linux__ -Dunix -D__uClinux__
-malignment-traps  -DSYSLOGS_AT_EMERG -DBOA_TIME_LOG   -c -o util.o
util.c
  ucfront-gcc arm-linux-gcc  -Wl,-elf2flt -D__PIC__ -fpic
-msingle-pic-base -o boa alias.o auth.o boa.o cgi.o cgi_header.o
config.o get.o hash.o globals.o log.o nls.o pipe.o queue.o read.o
request.o response.o signals.o timestamp.o util.o -lcrypt
 
/m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a

rm-linux/3.4.4/../../../../arm-linux/bin/ld.real: ERROR: alias.o uses
hardware FP, whereas boa.gdb uses software FP
 
/m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a

rm-linux/3.4.4/../../../../arm-linux/bin/ld.real: failed to merge target
specific data of file alias.o
  [ ... ]

To solve this, I put CFLAGS += -msoft-float in
vendors/config/armnommu/config.arch.  Then the error changes into:

  [ ... ]
  ucfront-gcc arm-linux-gcc  -Os -g
-fomit-frame-pointer -fno-common -fno-builtin -Wall   -DEMBED -D__PIC__
-fpic -msingle-pic-base -Dlinux -D__linux__ -Dunix -D__uClinux__
-msoft-float -malignment-traps  -DSYSLOGS_AT_EMERG -DBOA_TIME_LOG   -c
-o util.o util.c
  ucfront-gcc arm-linux-gcc  -Wl,-elf2flt -D__PIC__ -fpic
-msingle-pic-base -o boa alias.o auth.o boa.o cgi.o cgi_header.o
config.o get.o hash.o globals.o log.o nls.o pipe.o queue.o read.o
request.o response.o signals.o timestamp.o util.o -lcrypt


This final link line will need a "-msoft-float" as well.
Otherwise it will try to link against the wrong libgcc.a



/m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
rm-linux/3.4.4/../../../../arm-linux/bin/ld.real: ERROR:
/m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
rm-linux/3.4.4/libgcc.a(_udivsi3.o) uses hardware FP, whereas boa.gdb
uses software FP
 
/m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a

rm-linux/3.4.4/../../../../arm-linux/bin/ld.real: failed to merge target
specific data of file
/m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
rm-linux/3.4.4/libgcc.a(_udivsi3.o)
  [ ... ]

indicating that boa is linked against a library with HW-FP.  I have
checked documentation of gcc and ld, but I can't find how to tell the
linker to link against a library with SW-FP.  The linker don't seem
to like -msoft-float.

Can anybody tell me how to tell the linker against libraries with SW-FP?


If you are direct using the linker you would want "-EB". But if you are
linking through gcc then you just use "-msoft-float".

Regards
Greg



Greg Ungerer  --  Chief Software Dude   EMAIL: [EMAIL PROTECTED]
Secure Computing CorporationPHONE:   +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


[uClinux-dev] FP-problems with arm-linux-tools-20061213

2007-03-07 Thread Wolf, Josef
Hello!

I have a problem with HW/SW floating-point mismatches when I try to
compile uClinux-dist-20051014 with arm-linux-tools-20061213.  The
problem
appears when compilation of the user directory (starting with boa)
starts

  [ ... ]
  ucfront-gcc arm-linux-gcc  -Os -g
-fomit-frame-pointer -fno-common -fno-builtin -Wall   -DEMBED -D__PIC__
-fpic -msingle-pic-base -Dlinux -D__linux__ -Dunix -D__uClinux__
-malignment-traps  -DSYSLOGS_AT_EMERG -DBOA_TIME_LOG   -c -o util.o
util.c
  ucfront-gcc arm-linux-gcc  -Wl,-elf2flt -D__PIC__ -fpic
-msingle-pic-base -o boa alias.o auth.o boa.o cgi.o cgi_header.o
config.o get.o hash.o globals.o log.o nls.o pipe.o queue.o read.o
request.o response.o signals.o timestamp.o util.o -lcrypt
 
/m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
rm-linux/3.4.4/../../../../arm-linux/bin/ld.real: ERROR: alias.o uses
hardware FP, whereas boa.gdb uses software FP
 
/m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
rm-linux/3.4.4/../../../../arm-linux/bin/ld.real: failed to merge target
specific data of file alias.o
  [ ... ]

To solve this, I put CFLAGS += -msoft-float in
vendors/config/armnommu/config.arch.  Then the error changes into:

  [ ... ]
  ucfront-gcc arm-linux-gcc  -Os -g
-fomit-frame-pointer -fno-common -fno-builtin -Wall   -DEMBED -D__PIC__
-fpic -msingle-pic-base -Dlinux -D__linux__ -Dunix -D__uClinux__
-msoft-float -malignment-traps  -DSYSLOGS_AT_EMERG -DBOA_TIME_LOG   -c
-o util.o util.c
  ucfront-gcc arm-linux-gcc  -Wl,-elf2flt -D__PIC__ -fpic
-msingle-pic-base -o boa alias.o auth.o boa.o cgi.o cgi_header.o
config.o get.o hash.o globals.o log.o nls.o pipe.o queue.o read.o
request.o response.o signals.o timestamp.o util.o -lcrypt
 
/m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
rm-linux/3.4.4/../../../../arm-linux/bin/ld.real: ERROR:
/m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
rm-linux/3.4.4/libgcc.a(_udivsi3.o) uses hardware FP, whereas boa.gdb
uses software FP
 
/m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
rm-linux/3.4.4/../../../../arm-linux/bin/ld.real: failed to merge target
specific data of file
/m/a/tmp/uclinux/install/arm-linux-tools-20061213/local/bin/../lib/gcc/a
rm-linux/3.4.4/libgcc.a(_udivsi3.o)
  [ ... ]

indicating that boa is linked against a library with HW-FP.  I have
checked documentation of gcc and ld, but I can't find how to tell the
linker to link against a library with SW-FP.  The linker don't seem
to like -msoft-float.

Can anybody tell me how to tell the linker against libraries with SW-FP?
___
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev