public inbox for ecos-bugs@sourceware.org
help / color / mirror / Atom feed
From: bugzilla-daemon@bugs.ecos.sourceware.org
To: unassigned@bugs.ecos.sourceware.org
Subject: [Bug 1001252] New: Problem building "Linux Synthetic" target on Linux (Ubuntu)
Date: Mon, 30 May 2011 14:44:00 -0000	[thread overview]
Message-ID: <bug-1001252-777@http.bugs.ecos.sourceware.org/> (raw)

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.


             reply	other threads:[~2011-05-30 14:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-30 14:44 bugzilla-daemon [this message]
2011-10-22 22:26 ` [Bug 1001252] " bugzilla-daemon
  -- strict thread matches above, loose matches on Subject: below --
2011-05-30 14:44 [Bug 1001252] New: " bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-1001252-777@http.bugs.ecos.sourceware.org/ \
    --to=bugzilla-daemon@bugs.ecos.sourceware.org \
    --cc=unassigned@bugs.ecos.sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).