Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 07 Jun 2011 14:20:02 +0200
From:      Alexander Leidinger <Alexander@Leidinger.net>
To:        Yuri <yuri@rawbw.com>
Cc:        freebsd-emulation@FreeBSD.org, Ion-Mihai Tetcu <itetcu@FreeBSD.org>
Subject:   Re: kern/153887: [linux] Linux emulator not understand STB_GNU_UNIQUE binding
Message-ID:  <20110607142002.768323wplc2uw1v6@webmail.leidinger.net>
In-Reply-To: <20110606214255.34b180db@it.buh.tecnik93.com>
References:  <201106040850.p548oBhv096954@freefall.freebsd.org> <20110606214255.34b180db@it.buh.tecnik93.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Quoting Ion-Mihai Tetcu <itetcu@FreeBSD.org> (from Mon, 6 Jun 2011  
21:42:55 +0300):

> On Sat, 4 Jun 2011 08:50:11 GMT
> Yuri <yuri@rawbw.com> wrote:
>
>> The following reply was made to PR kern/153887; it has been noted by
>> GNATS.
>>
>> From: Yuri <yuri@rawbw.com>

>>   > (1) did you run "brandelf -t Linux" on your program binary?
>>
>>  No I didn't, usually linux executables (like skype and acroread)
>> don't need this.
>
> They do, or they are started from a linux "sh" which is somewhat
> equivalent.

Status:
  - static linux executables need(ed) to be branded, else you may have
    experienced a reboot (branding changes the ELF ABI number)
  - the code which is responsible to pick the correct syscall table
    (the FreeBSD one or the Linuxulator one) improved since ...
    uhm ... maybe 7.x
  - it is unknown to me (one of the few persons with the hands in
    the linuxulator infrastructure ports) if there is still the hard
    requirement to brand static linux programs
  - the only officially supported way to run (static and dynamically
    linked) linux programs, is to brand them first, if you don't
    brand them, do not complain if they do not work (brand and
    retest, only after that I start to listen)

Regarding the problem at hand:
  - problems you see with linux programs may be kernel or
    userland related
  - kernel problems are "linuxulator problems"
  - userland problems are "linux base/libs problems"
  - the linux userland we use is Fedora 10 based, if the software
    which exposes problems is not supported by the vendor/author on
    Fedora 10, we do not support it either

According to  
http://www.redhat.com/archives/posix-c++-wg/2009-August/msg00002.html:
---snip---
Since STB_GNU_UNIQUE is a Linux extension the OS ABI indicated in the  
ELF header must be ELFOSABI_LINUX.
---snip---
and
---snip---
Anyway, this all is implemented in the toolchain used in Fedora 12  
which is at this point the rawhide toolchain. It now appears to be  
working fine and due to the initial set of problems we showed up we  
know it is used.
---snip---

This sugegst you try to run a program for Fedora 12 on our Fedora 10  
infrastructure.

This is not supported.

The only way to get this working is to use a (not existing) Fedora 12  
linux_base. If someone wants to change the fact that there is no  
Fedora 12 (or newer) linux_base: feel free to have a look at the  
linux_base-f10 port and port Fedora 12 (or newer). If you have  
questions about porting a newer linux_base, feel free to ask here, I'm  
sure you will get answers.

Bye,
Alexander.

-- 
Every great idea has a disadvantage equal to or
exceeding the greatness of the idea.

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110607142002.768323wplc2uw1v6>