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>