GNU Cross Compiler Build Problem

Ben Schmidtke ben@creachanngleann.com
Thu Feb 21 18:49:00 GMT 2019


Andrew,
 Thanks for the response. I found a clue while searching on the web and
found that for some reason
an assembler was being copied into the directory I was building in. It
was the target assembler when
it should have been the native assembler. I removed it, and the build
went much further. Long story
short, I removed everything in the build directory and re-ran the
config script, and gcc built with no
errors.
If you could point me to the correct place to ask my next question, I
would appreciate it. I'm trying to 
build a temperature control application that uses floating point. Since
this is a 68000 based system
there is no hardware floating point support. I can build my application
(using -msoft-float), but the floating 
point functions being called are junk. I've looked at the source code
for them, and they're constructed with 
a pile of macros. I'm trying to understand where I'm going wrong. As an
example, the following function is one
that gets called from my routines:
000174f4 <__ltdf2>:
   174f4:	 4e56 0000      	linkw %fp,#0
   174f8:	 4878 0001      	pea 1 <ADD>
   174fc:	 2f2e 0014      	movel %fp@(20),%sp@-
   17500: 2f2e 0010      	movel %fp@(16),%sp@-
   17504: 2f2e 000c      	movel %fp@(12),%sp@-
   17508: 2f2e 0008      	movel %fp@(8),%sp@-
   1750c:	  61ff           	        bsrs 1750d
<__ltdf2+0x19>
   1750e:  ffff           	       .short 0xffff
   17510: fd94           	       .short 0xfd94
   17512: 4e5e               	unlk %fp
   17514: 4e75           	        rts
   17516: 4e71           	       nop
Obviously, the 68000 isn't going to branch to an odd address. This is
one example of the floating point functions
 in libgcc that look like this. Unless the address trap vector is
supposed to handle the exception, I'm not sure what
is supposed to have been here.
Thanks for getting back to me,
    Ben
On Thu, 2019-02-21 at 18:31 +0000, Andrew Haley wrote:
> On 2/20/19 10:06 PM, Ben Schmidtke wrote:
> 
> > I am trying to build a m68k-elf cross compiler. I have tried
> > several
> > source revisions, currently I'm working with 8.2.0. After
> > configuring the build, it fails when it attempts to generate
> > genmodes.o The assembler (m68k-elf-as) is complaining about getting
> > a --64 flag.  This flag would appear to be intended for the native
> > x86 assembler, not the cross assembler. What I can't tell is
> > whether
> > the wrong compiler/assembler are being called or if the flag is
> > being incorrectly specified. Is genmodes being built for the host
> > or
> > the target?
> 
> I can't tell you how much it would help if you told us how you
> configured
> GCC and binutils.
> 
-- 
Ben Schmidtke Jr
7200 Platte Rd
Platteville, WI 53818

Phone: 608.348.4047
Cell:  608.778.3514
Web:   http://creachanngleann.com




More information about the Gcc-help mailing list