Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Mar 2012 22:51:03 -0400
From:      Super Bisquit <superbisquit@gmail.com>
To:        Alexander Kabaev <kabaev@gmail.com>
Cc:        freebsd-emulation@freebsd.org, FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Subject:   Re: ELF header adjusting
Message-ID:  <CA%2BWntOuCiY88VKO7roiaGKb6SQ0RPRWPDFtqCoRanDYaxcRbgg@mail.gmail.com>
In-Reply-To: <CA%2BWntOvgGROYYEZYovCGPGc6k_v6G2gWreE%2B0hdbSunE_wHuNQ@mail.gmail.com>
References:  <CA%2BWntOtp02vCjdYQSU0jkVH4TPWp_P9H_2YQdYrHR7UzFbd2VQ@mail.gmail.com> <20120316155901.77ca48ee@kan.dyndns.org> <CA%2BWntOvdxtV9wB2RpK%2BF13eADEY69SUSOU8OznPyPP4FXxwYKw@mail.gmail.com> <20120317091952.2e8c4fcf@kan.dyndns.org> <CA%2BWntOvgGROYYEZYovCGPGc6k_v6G2gWreE%2B0hdbSunE_wHuNQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Mar 17, 2012 at 10:26 AM, Super Bisquit <superbisquit@gmail.com>wrote:

>
>
> On Sat, Mar 17, 2012 at 9:19 AM, Alexander Kabaev <kabaev@gmail.com>wrote:
>
>> On Fri, 16 Mar 2012 23:51:30 -0400
>> Super Bisquit <superbisquit@gmail.com> wrote:
>>
>> > On Fri, Mar 16, 2012 at 3:59 PM, Alexander Kabaev <kabaev@gmail.com>
>> > wrote:
>> >
>> > > On Fri, 16 Mar 2012 15:45:47 -0400
>> > > Super Bisquit <superbisquit@gmail.com> wrote:
>> > >
>> > > > "Okay, what in the hell is he trying to do now?"
>> > > > The answer to your question is:
>> > > > I've looked at the header file for the bin/java and bin/java_vm in
>> > > > the ibm powerpc java binaries. There is a reference
>> > > > to /lib/ld.so.1 in a Linux installation which is very similar
>> > > > to /usr/libexec/ld-elf.so.1 in a FreeBSD installation.
>> > > >
>> > > > chipchop# pwd
>> > > > /tmp/install.dir.53010/Linux/resource/jre/bin
>> > > > chipchop# ls
>> > > > ControlPanel    ikeyman        java_vm        jcontrol    keytool
>> > > > ktab        rmid        unpack200
>> > > > classic        j9vm        javaw        jdmpview    kinit
>> > > > pack200 rmiregistry
>> > > > ikeycmd        java        javaws        jextract    klist
>> > > > policytool    tnameserv
>> > > > chipchop# elfedit --input-osabi=FreeBSD --output-osabi=FreeBSD
>> > > > java elfedit: Error: java: Unmatched EI_OSABI: 0 is not 9
>> > > > chipchop# elfedit --input-osabi=FreeBSD --output-osabi=FreeBSD
>> > > > java_vm elfedit: Error: java_vm: Unmatched EI_OSABI: 0 is not 9
>> > > > chipchop# elfedit  --output-osabi=FreeBSD java_vm
>> > > > chipchop# elfedit --output-osabi=FreeBSD java
>> > > > chipchop#
>> > > >
>> > > > If in doubt about my finding for similarities
>> > > > between /lib/ld.so.1 and /usr/lbexec/ld-elf.so.1 then open the
>> > > > former with nano orvi and the latter with vi to see the headers.
>> > >
>> > > Would it be a much of a shock to discover that two export largely
>> > > intersecting list of functions, both being ELF loaders?
>> >
>> >
>> > Would rewriting the header to use the FreeBSD equivalent to the Linux
>> > ones possibly work?
>> > Ignore - for the moment- the reference to ld-elf.so.1.
>> > /usr/lib/ld.so.1 FreeBSD /lib/ld.so.1 Linux. (I did a re-search)Both
>> > serve the same purpose. The binaries are obviously checking for the
>> > Linux path.
>> > >
>> > >  Sadly, you
>> > > provide no answer to the question you yourself ask on the very first
>> > > line of own messages, so the point of your message is somewhat
>> > > unclear to me still.
>> > >
>> > > --
>> > > Alexander Kabaev
>> > >
>> >
>> > Has anyone reported anything on changing the called for libraries and
>> > such in the file to use the FreeBSD path instead?
>>
>> No, this won't work. By rewriting headers you change the library to
>> _look_ like FreeBSD one, but you do not change what library _does_.
>> Linux and FreeBSD differ in how syscalls are processed and what
>> parameters they take, they setup floating point processing unitt in a
>> subtly different ways by default, and so on and so on. Linux ELF loader
>> expects an information from the kernel that FreeBSD kernel won't
>> provide and vice versa. If library were not communicating with outside
>> world at all, then it likely will be possible possible to rewrite its
>> headers and use it in FreeBSD, but that theoretical case is hardly
>> interesting in real world.
>>
>> --
>> Alexander Kabaev
>>
>
> An honest thanks, man, for the feedback.
> Okay, I hope no one on either list gets pissed at my next questions and
> statements.
> I basically learn by pattern recognition- comparison, reverse engineering
> (I finally have to admit that's what I'm doing.), and such. I would ask to
> be pointed to a set of tutorials to learn disassembling elf files.
> I have elfkickers installed; is that set of programs enough to get
> started. I've seen references to elfutils; will having that program help?
> I realize that by learning how to edit makefiles and other config
> statements that I'm learning some about C and shell slowly; what would be
> some other FreeBSD projects that I can work with to learn more?
>
> This is what I am trying/doing  right now related to FreeBSD.
>
> Porting to Xbox360 and wii: I'm missing the wireless controller to the wii
> and have to borrow one. I pulled the Xbox360 out of  atrash heap and I'm
> ring to repair it.
> Making the ibm-java-binaries work on FreeBSD powerpc: That is what the
> conversation has been about. The project is being started at school and
> will be continued at the next one- community college now to a university
> later.
> Having more people know about FreeBSD: This is why I am introducing it at
> school. It is also why I try to make my tutorials thorough.
>
>
>
>  Ignore above- as many have already



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BWntOuCiY88VKO7roiaGKb6SQ0RPRWPDFtqCoRanDYaxcRbgg>