public inbox for ecos-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug 1001252] New: Problem building "Linux Synthetic" target on Linux (Ubuntu)
@ 2011-05-30 14:44 bugzilla-daemon
2011-10-22 22:26 ` [Bug 1001252] " bugzilla-daemon
0 siblings, 1 reply; 3+ messages in thread
From: bugzilla-daemon @ 2011-05-30 14:44 UTC (permalink / raw)
To: unassigned
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001252
Summary: Problem building "Linux Synthetic" target on Linux
(Ubuntu)
Product: eCos
Version: 3.0
Platform: linux (Linux synthetic target)
OS/Version: HostOS: Linux
Status: UNCONFIRMED
Severity: critical
Priority: low
Component: ConfigTool
AssignedTo: unassigned@bugs.ecos.sourceware.org
ReportedBy: ern0@linkbroker.hu
CC: ecos-bugs@ecos.sourceware.org
Class: Advice Request
I'm trying to building Synthetic Linux target on Ubuntu. My software
environment:
* Ubuntu 11.4
* GCC is 4.5.2
* ECOS 3.0
In the Config Tool I have set up "Linux Sythetic" target with "all" packages.
Clicking on "build" the compilation starts, but later it says:
> /opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:
> Assembler messages: make: Leaving
> directory `/opt/ecos/linux_build'
> /opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:457:
> Error: .size expression for
> __restore_rt does not evaluate to a constant
>
> /opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:457:
> Error: .size expression for __restore
> does not evaluate to a constant
> make:
> [src/syscall-i386-linux-1.0.o.d] Error 1 make: [build] Error 2
The content of the file
**/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S**
from the line **434** is:
////////////////////////////////////////////////////////////////////////////
//
----------------------------------------------------------------------------
// Special support for returning from a signal handler. In theory no
special
// action is needed, but with some versions of the kernel on some
// architectures that is not good enough. Instead returning has to happen
// via another system call.
.align 16
.global cyg_hal_sys_restore_rt
cyg_hal_sys_restore_rt:
movl $SYS_rt_sigreturn, %eax
int $0x80
1:
.type __restore_rt,@function
.size __restore_rt,1b - __restore_rt
.align 8
.global cyg_hal_sys_restore
cyg_hal_sys_restore:
popl %eax
movl $SYS_sigreturn, %eax
int $0x80
1:
.type __restore,@function
.size __restore,1b - __restore
//////////////////////////////////////////////////////////////////////////////
I think the __restore and __restore_rt is undefinied.
I've tried to comment out this part and remove signal-related packages, but It
looks to be the part of the kernel; the build seems succeed with outcommented
parts, but when I compiled example apps, there were linker error because of the
missing symbols.
Silly idea, but I've tried to replace "__restore" with "cyg_hal_sys_restore"
and "...rt" same way, but the result is: the build is ok (as no undef), example
compiling is ok (as no missing symbol), but example a.out throws segfault just
as I start it.
Folders and other settings are ok, a I said, I can compile the examples if I
"fix" the errors. Unfortunatelly, (I'm not familiar with Linux asm, I don't
really understand what happens here, what .type and .size stuff means and what
is the reason of putting anything after an int $80. Will it run? Or it is just
a kind of some table required for a syscall? Sorry, I don't know.)
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug 1001252] Problem building "Linux Synthetic" target on Linux (Ubuntu)
2011-05-30 14:44 [Bug 1001252] New: Problem building "Linux Synthetic" target on Linux (Ubuntu) bugzilla-daemon
@ 2011-10-22 22:26 ` bugzilla-daemon
0 siblings, 0 replies; 3+ messages in thread
From: bugzilla-daemon @ 2011-10-22 22:26 UTC (permalink / raw)
To: unassigned
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001252
Liviu Ionescu <ilg@livius.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ilg@livius.net
--- Comment #1 from Liviu Ionescu <ilg@livius.net> 2011-10-22 23:26:28 BST ---
I also tried to build the Synthetic Linux target on Ubuntu, and succeeded the
build on Ubuntu 9.
However, when trying to execute the tests, I ran into numerous problems. First
I hacked the linker script to match the Ubuntu memory map, and finally the
generated elf images matched the headers of a natively built executable.
However it looks like the Ubuntu ABI is significantly different from the one
assumed in eCos.
So I also hacked the startup.S to no longer try to get the argc, argv, and
environment.
After this I reached the _linux_entry point, but when the synth_hardware_init()
where the code again crashed.
As I said, it looks like there are significant differences between the current
Ubuntu releases and the code in eCos.
Regards,
Liviu
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug 1001252] New: Problem building "Linux Synthetic" target on Linux (Ubuntu)
@ 2011-05-30 14:44 bugzilla-daemon
0 siblings, 0 replies; 3+ messages in thread
From: bugzilla-daemon @ 2011-05-30 14:44 UTC (permalink / raw)
To: ecos-bugs
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001252
Summary: Problem building "Linux Synthetic" target on Linux
(Ubuntu)
Product: eCos
Version: 3.0
Platform: linux (Linux synthetic target)
OS/Version: HostOS: Linux
Status: UNCONFIRMED
Severity: critical
Priority: low
Component: ConfigTool
AssignedTo: unassigned@bugs.ecos.sourceware.org
ReportedBy: ern0@linkbroker.hu
CC: ecos-bugs@ecos.sourceware.org
Class: Advice Request
I'm trying to building Synthetic Linux target on Ubuntu. My software
environment:
* Ubuntu 11.4
* GCC is 4.5.2
* ECOS 3.0
In the Config Tool I have set up "Linux Sythetic" target with "all" packages.
Clicking on "build" the compilation starts, but later it says:
> /opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:
> Assembler messages: make: Leaving
> directory `/opt/ecos/linux_build'
> /opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:457:
> Error: .size expression for
> __restore_rt does not evaluate to a constant
>
> /opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S:457:
> Error: .size expression for __restore
> does not evaluate to a constant
> make:
> [src/syscall-i386-linux-1.0.o.d] Error 1 make: [build] Error 2
The content of the file
**/opt/ecos/ecos-3.0/packages/hal/synth/i386linux/v3_0/src/syscall-i386-linux-1.0.S**
from the line **434** is:
////////////////////////////////////////////////////////////////////////////
//
----------------------------------------------------------------------------
// Special support for returning from a signal handler. In theory no
special
// action is needed, but with some versions of the kernel on some
// architectures that is not good enough. Instead returning has to happen
// via another system call.
.align 16
.global cyg_hal_sys_restore_rt
cyg_hal_sys_restore_rt:
movl $SYS_rt_sigreturn, %eax
int $0x80
1:
.type __restore_rt,@function
.size __restore_rt,1b - __restore_rt
.align 8
.global cyg_hal_sys_restore
cyg_hal_sys_restore:
popl %eax
movl $SYS_sigreturn, %eax
int $0x80
1:
.type __restore,@function
.size __restore,1b - __restore
//////////////////////////////////////////////////////////////////////////////
I think the __restore and __restore_rt is undefinied.
I've tried to comment out this part and remove signal-related packages, but It
looks to be the part of the kernel; the build seems succeed with outcommented
parts, but when I compiled example apps, there were linker error because of the
missing symbols.
Silly idea, but I've tried to replace "__restore" with "cyg_hal_sys_restore"
and "...rt" same way, but the result is: the build is ok (as no undef), example
compiling is ok (as no missing symbol), but example a.out throws segfault just
as I start it.
Folders and other settings are ok, a I said, I can compile the examples if I
"fix" the errors. Unfortunatelly, (I'm not familiar with Linux asm, I don't
really understand what happens here, what .type and .size stuff means and what
is the reason of putting anything after an int $80. Will it run? Or it is just
a kind of some table required for a syscall? Sorry, I don't know.)
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-10-22 22:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-30 14:44 [Bug 1001252] New: Problem building "Linux Synthetic" target on Linux (Ubuntu) bugzilla-daemon
2011-10-22 22:26 ` [Bug 1001252] " bugzilla-daemon
2011-05-30 14:44 [Bug 1001252] New: " bugzilla-daemon
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).