public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] Problems building for a pc target...
@ 2001-07-04 10:30 Matthew M. DeLoera
  2001-07-04 11:12 ` Robin Farine
  0 siblings, 1 reply; 6+ messages in thread
From: Matthew M. DeLoera @ 2001-07-04 10:30 UTC (permalink / raw)
  To: ecos-discuss

I just checked out eCos from the CVS repository, to get the latest
version, and also downloaded the prebuild ecosconfig.

I first tried building for a synthetic Linux target, and the test suite
ran fine.

I'm now trying to build for IA-32, but it's failing.

I'm attaching the error log from my build at the bottom of this note.

What I specifically did was:
   ecosconfig new pc
   ecosconfig tree
   make

The *only* thing I did to the ecos.ecc file was to modify the build
prefix to call gcc instead of i386-elf-gcc.

Any ideas as to what I might have missed?

Thanks,
- Matt

----------------------------------------------------------------------------------

make[1]: Entering directory
`/home/mdeloera/ecoscvs/ecos-ziatech/hal/i386/pcmb/c
urrent'
gcc -c  -I/home/mdeloera/ecoscvs/ecos-ziatech/install/include
-I/home/mdeloera/e
coscvs/ecos/packages/hal/i386/pcmb/current
-I/home/mdeloera/ecoscvs/ecos/package
s/hal/i386/pcmb/current/src
-I/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb
/current/tests -I.
-I/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/
src/ -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef
-Woverloaded-vir
tual -g -O2 -ffunction-sections -fdata-sections -fno-rtti
-fno-exceptions -fvtab
le-gc -finit-priority -Wp,-MD,src/pcmb_misc.tmp -o
src/hal_i386_pcmb_pcmb_misc.o

/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:71:
w
arning: function declaration isn't a prototype
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:
In f
unction `hal_pcmb_init':
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:74:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:74:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:74:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:74:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:75:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:75:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:75:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:82:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:82:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:82:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:82:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:83:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:83:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:83:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:74:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:74:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:74:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:74:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:75:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:75:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:75:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:82:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:82:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:82:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:82:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:83:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:83:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:83:
i
mpossible register constraint in `asm'
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:91:
U
nrecognizable insn:
(insn 23 22 31 (parallel[
            (asm_operands/v ("outb %%al,%%dx") ("") 0[
                    (reg:SI 1 edx)
                    (reg:SI 0 eax)
                ]
                [
                    (asm_input:SI ("eax"))
                    (asm_input:SI ("edx"))
                ] 
("/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/
src/pcmb_misc.c") 74)
            (clobber (reg:QI 19 dirflag))
            (clobber (reg:QI 18 fpsr))
            (clobber (reg:QI 17 flags))
        ] ) -1 (insn_list 20 (insn_list 22 (nil)))
    (nil))
/home/mdeloera/ecoscvs/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c:91:
c
onfused by earlier errors, bailing out
make[1]: *** [src/pcmb_misc.o.d] Error 1
make[1]: Leaving directory
`/home/mdeloera/ecoscvs/ecos-ziatech/hal/i386/pcmb/cu
rrent'
make: *** [build] Error 2

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ECOS] Problems building for a pc target...
  2001-07-04 10:30 [ECOS] Problems building for a pc target Matthew M. DeLoera
@ 2001-07-04 11:12 ` Robin Farine
  2001-07-04 12:48   ` Jonathan Larmour
  0 siblings, 1 reply; 6+ messages in thread
From: Robin Farine @ 2001-07-04 11:12 UTC (permalink / raw)
  To: Matthew M. DeLoera; +Cc: ecos-discuss

"Matthew M. DeLoera" <code.bear@gte.net> writes:

[...]

> The *only* thing I did to the ecos.ecc file was to modify the build
> prefix to call gcc instead of i386-elf-gcc.

That's actually your problem, tools for linux/x86 systems will not work for the
eCos i386-elf target. Either use your tools with the linux synthetic eCos target
or use tools built with "--target=i386-elf" for the pc target.

Robin

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ECOS] Problems building for a pc target...
  2001-07-04 11:12 ` Robin Farine
@ 2001-07-04 12:48   ` Jonathan Larmour
  2001-07-05 10:59     ` Matthew M. DeLoera
  0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Larmour @ 2001-07-04 12:48 UTC (permalink / raw)
  To: Robin Farine; +Cc: Matthew M. DeLoera, ecos-discuss

Robin Farine wrote:
> 
> "Matthew M. DeLoera" <code.bear@gte.net> writes:
> 
> [...]
> 
> > The *only* thing I did to the ecos.ecc file was to modify the build
> > prefix to call gcc instead of i386-elf-gcc.
> 
> That's actually your problem, tools for linux/x86 systems will not work for the
> eCos i386-elf target. Either use your tools with the linux synthetic eCos target
> or use tools built with "--target=i386-elf" for the pc target.

While this is true (and I fancy the chances this will work) I'm still
somewhat curious as to why the native linux compiler doesn't like it. I
just tried it myself and it works with gcc 2.95.2, but fails virtually
identically to Matthew with gcc 2.96-RH.

It seems that constraint definition has been tightened up. I'm applying a
patch locally to fix it and I intend to do an anoncvs release before end of
tomorrow to address a PC redboot bug that people have come across on the
list.

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine
Come to the Red Hat TechWorld open source conference in Brussels!
Keynotes, techie talks and exhibitions    http://www.redhat-techworld.com/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ECOS] Problems building for a pc target...
  2001-07-04 12:48   ` Jonathan Larmour
@ 2001-07-05 10:59     ` Matthew M. DeLoera
  2001-07-05 11:07       ` Jonathan Larmour
  0 siblings, 1 reply; 6+ messages in thread
From: Matthew M. DeLoera @ 2001-07-05 10:59 UTC (permalink / raw)
  To: Jonathan Larmour; +Cc: Robin Farine, ecos-discuss

Jonathan Larmour wrote:
> 
> Robin Farine wrote:
> >
> > "Matthew M. DeLoera" <code.bear@gte.net> writes:
> >
> > [...]
> >
> > > The *only* thing I did to the ecos.ecc file was to modify the build
> > > prefix to call gcc instead of i386-elf-gcc.
> >
> > That's actually your problem, tools for linux/x86 systems will not work for the
> > eCos i386-elf target. Either use your tools with the linux synthetic eCos target
> > or use tools built with "--target=i386-elf" for the pc target.
> 
> While this is true (and I fancy the chances this will work) I'm still
> somewhat curious as to why the native linux compiler doesn't like it. I
> just tried it myself and it works with gcc 2.95.2, but fails virtually
> identically to Matthew with gcc 2.96-RH.
> 
> It seems that constraint definition has been tightened up. I'm applying a
> patch locally to fix it and I intend to do an anoncvs release before end of
> tomorrow to address a PC redboot bug that people have come across on the
> list.

Well, I hate to ask a stupid question, but does this mean I need to
rebuild gcc with "--target=i386-elf"? If so, I assume I need to keep it
around in a seperate directory as a tool for eCos only?

- Matt

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ECOS] Problems building for a pc target...
  2001-07-05 10:59     ` Matthew M. DeLoera
@ 2001-07-05 11:07       ` Jonathan Larmour
  2001-07-05 23:59         ` Robin Farine
  0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Larmour @ 2001-07-05 11:07 UTC (permalink / raw)
  To: Matthew M. DeLoera; +Cc: ecos-discuss

"Matthew M. DeLoera" wrote:
> 
> Well, I hate to ask a stupid question, but does this mean I need to
> rebuild gcc with "--target=i386-elf"? If so, I assume I need to keep it
> around in a seperate directory as a tool for eCos only?

You won't be able to debug with the native GDB anyway so you'll have to
build an i386-elf-gdb at least. If you're prepared to wait till tomorrow
the patch will be in anon cvs so you can use the native linux gcc after
all. Not that it's recommended :-), just that it will probably work.

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine
Come to the Red Hat TechWorld open source conference in Brussels!
Keynotes, techie talks and exhibitions    http://www.redhat-techworld.com/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ECOS] Problems building for a pc target...
  2001-07-05 11:07       ` Jonathan Larmour
@ 2001-07-05 23:59         ` Robin Farine
  0 siblings, 0 replies; 6+ messages in thread
From: Robin Farine @ 2001-07-05 23:59 UTC (permalink / raw)
  To: ecos-discuss

When one builds gcc for a specific OS, gcc includes calls to routines in the C
library associated with that OS. For instance, when gcc generates code in the
stack (e.g. for trampoline), it needs to flush caches between the writes and the
execution. By the way, I do not actually know if targets such as
"i386-unknown-elf" or "arm-unknown-elf", which do not depend on a specific C
library, handle this kind of things correctly.

Robin

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2001-07-05 23:59 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-04 10:30 [ECOS] Problems building for a pc target Matthew M. DeLoera
2001-07-04 11:12 ` Robin Farine
2001-07-04 12:48   ` Jonathan Larmour
2001-07-05 10:59     ` Matthew M. DeLoera
2001-07-05 11:07       ` Jonathan Larmour
2001-07-05 23:59         ` Robin Farine

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).