kern/153887: [linux] Linux emulator not understand
STB_GNU_UNIQUE binding
Alexander Leidinger
Alexander at Leidinger.net
Tue Jun 7 12:20:22 UTC 2011
Quoting Ion-Mihai Tetcu <itetcu at FreeBSD.org> (from Mon, 6 Jun 2011
21:42:55 +0300):
> On Sat, 4 Jun 2011 08:50:11 GMT
> Yuri <yuri at rawbw.com> wrote:
>
>> The following reply was made to PR kern/153887; it has been noted by
>> GNATS.
>>
>> From: Yuri <yuri at 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
More information about the freebsd-emulation
mailing list