Hi again,
dietlibc/mips64 now mostly works on t2/trunk:HEAD:
root@octane:/usr/embutils# ./uname -a
Linux octane 2.6.36 #1 Thu Dec 30 06:53:35 CST 2010 mips64
root@octane:/usr/embutils# ./echo 123 abc
123 abc
Some syscalls arguments still get mangled, though. However, many to most
already work. Need to further dive thru the syscall assembly :-)
Regards,
René
On 03.02.2011, at 19:44, René Rebe wrote:
> With my mips64 dietlibc fixes as of today most stuff links on my side. I'm
> now porting the assembly glue from 32bit mips o32 to 64bit for real, some
> "hello world" style stuff even already runs for real, as of:
>
> Committed revision 38618.
>
> :-) !
>
> René
>
> On 03.02.2011, at 18:06, Jan Rovins wrote:
>
>> On 2/3/2011 7:25 AM, René Rebe wrote:
>>> Hi,
>>>
>>> On 03.02.2011, at 00:04, Jan Rovins wrote:
>>>
>>>> On 2/2/2011 4:22 AM, René Rebe wrote:
>>>>> Hi,
>>>>>
>>>>> when I was visiting my parents last weekend I took my Sgi Octane from the
>>>>> attic, it even still powers up, yay! I hope to find the time to finalize
>>>>> the dietlibc mips64 port during one of the next weekends, ...
>>>>>
>>>> That is good news.
>>>>
>>>> I had to pin my Mips64 T2 tree to a snapshot from early January (Jan 4th
>>>> or something like that) because the stuff using the new dietlibc would not
>>>> successfully link under mips64. In addition to that, the move to GCC 4.5.2
>>>> is giving internal compiler errors when building the stage1 GCC :-(. GCC
>>>> 4.5.1 is still working fine.
>>> While most dietlibc stuff was intended to build and link I now fixed the
>>> trunk:HEAD mips64 dietlibc breakage I could spot.
>>>
>>> Will fix the startup / syscall code for the dietlibc mips64 port soon.
>> Ok, I tried the latest svn HEAD, dietlibc builds OK, but when other programs
>> are built with it there are link errors:
>>
>> Disktype is the first one to fail, there are a few multiple definition
>> errors, followed by pages of:
>> warning: linking abicalls files with non-abicalls files.
>>
>> Here is a chunk of the ERROR-LOG, are you getting similar results? (My build
>> host is SLES-11 ).
>>
>> mips64-t2-linux-gnu-gcc -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
>> -DUSE_IOCTL_LINUX -Wall -c udf.c
>> mips64-t2-linux-gnu-gcc -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
>> -DUSE_IOCTL_LINUX -Wall -c blank.c
>> mips64-t2-linux-gnu-gcc -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
>> -DUSE_IOCTL_LINUX -Wall -c cloop.c
>> mips64-t2-linux-gnu-gcc -o disktype main.o lib.o buffer.o file.o cdaccess.o
>> cdimage.o vpc.o compressed.o detect.o apple.o amiga.o atari.o dos.o cdrom.o
>> linux.o unix.o beos.o archives.o udf.o blank.o cloop.o
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/start.o:
>> In function `__start':
>> (.text+0x0): multiple definition of `__start'
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/start.o:(.text+0x0):
>> first defined here
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/start.o:
>> In function `__main':
>> (.text+0x9c): multiple definition of `__main'
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/start.o:(.text+0x9c):
>> first defined here
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/dyn_start.o:
>> In function `_fini':
>> dyn_start.c:(.fini+0x0): multiple definition of `_fini'
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/dyn_start.o:dyn_start.c:(.fini+0x0):
>> first defined here
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/dyn_start.o:(.eh_frame+0x0):
>> multiple definition of `__EH_FRAME_BEGIN__'
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/dyn_start.o:(.eh_frame+0x0):
>> first defined here
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/dyn_start.o:
>> In function `_dyn_start':
>> dyn_start.c:(.text+0x0): multiple definition of `_dyn_start'
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/dyn_start.o:dyn_start.c:(.text+0x0):
>> first defined here
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(sprintf.o):
>> In function `sprintf':
>> sprintf.c:(.text+0x24): warning: warning: Avoid *sprintf; use *snprintf. It
>> is more secure.
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(vsnprintf.o):
>> In function `vsnprintf':
>> vsnprintf.c:(.text+0xe4): warning: warning: the printf functions add several
>> kilobytes of bloat.
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(stderr.o):
>> In function `__fflush_stderr':
>> stderr.c:(.text+0x14): warning: warning: your code uses stdio (7+k bloat).
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/dyn_stop.o:
>> In function `_init':
>> dyn_stop.c:(.init+0x0): multiple definition of `_init'
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/dyn_stop.o:dyn_stop.c:(.init+0x0):
>> first defined here
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/dyn_stop.o:(.eh_frame+0x0):
>> multiple definition of `__FRAME_END__'
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/dyn_stop.o:(.eh_frame+0x0):
>> first defined here
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>> main.o: warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(unified.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(close.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(dup2.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(environ.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(errno.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(fcntl.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(fork.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(fstat.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(ioctl.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(kill.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(lseek.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(open.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(pipe.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(read.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(select.o):
>> warning: linking abicalls files with non-abicalls files
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/TOOLCHAIN/tools.cross/crosscc/../lib/gcc/mips64-t2-linux-gnu/4.5.2/../../../../mips64-t2-linux-gnu/bin/ld:
>>
>> /opt/T2/t2-trunk-latest/build/Mips-Octeon-9.0-trunk-generic-mips64-EB-octeon-cross-linux/usr/dietlibc/lib-mips64/libc.a(stat.o):
>> warning: linking abicalls files with non-abicalls files
>>
>>
>>
>>> René
>>>
>>>> Jan
>>>>
>>>>
>>>>> René
>>>>>
>>>>> On 28.10.2010, at 23:00, Rene Rebe wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> We need to fix dietlibs for mips64 for real, too - maybe time to get an
>>>>>> Sgi O2 from eBay (or ask my parents to bring the Octane to Berlin on my
>>>>>> 30th birthday this Saturday, 'though it was quite loud, bulky and
>>>>>> heavy, ...) :-)
>>>>>>
>>>>>> Will review / apply the patches soon, any reason you duplicated the
>>>>>> whole gcc.confirm int the architecture package directory?
>>>>>>
>>>>>> René
>>>>>>
>>>>>> Sent abroad - http://ExactCODE.com Germany.
>>>>>>
>>>>>> On Oct 27, 2010, at 21:11, Jan Rovins<[email protected]> wrote:
>>>>>>
>>>>>>> Hi Rene,
>>>>>>>
>>>>>>> Here are the last 3 patches that are needed for "generic minimal" to
>>>>>>> build on Mips64.
>>>>>>>
>>>>>>> Since you mentioned that the latest GCC was also failing for you while
>>>>>>> building e2fsprogs, I am including the patch to roll back to GCC 4.4.3.
>>>>>>>
>>>>>>> With these patches, the 9.0 branch will cross build Mips64, I will also
>>>>>>> consider back-porting all the Mips64 fixes to the 8.0 branch, if you
>>>>>>> are planning to do an 8.1 release.
>>>>>>>
>>>>>>> Jan
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 9/30/2010 6:07 AM, Rene Rebe wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> On Sep 29, 2010, at 4:04 PM, Jan Rovins wrote:
>>>>>>>>
>>>>>>>>> On 9/28/2010 3:18 AM, Rene Rebe wrote:
>>>>>>>>>> Hi again,
>>>>>>>>>>
>>>>>>>>>> it built here:
>>>>>>>>>>
>>>>>>>>>> -rw-r--r-- 1 root root 10847302 Sep 25 11:34
>>>>>>>>>> build/cross-mips64-9.0-trunk-generic-mips64-EB-cross-linux/var/adm/logs/1-gcc.log
>>>>>>>>>>
>>>>>>>>>> While usually building 64bit binaries on 32bit system was (and
>>>>>>>>>> should) not a problem, there certainly can be something in that
>>>>>>>>>> distribution that poses a problem, ... :-(
>>>>>>>>>>
>>>>>>>>>> René
>>>>>>>>> Yes, Probability something specific about building on 32-bit Suse
>>>>>>>>> SLES-11, To move forward, I had to roll back to GCC 4.4.3.
>>>>>>>>> Eventually I would like to set up a T2 host, or at least somthing
>>>>>>>>> more compatable for cross building T2, but am currently short of
>>>>>>>>> time& fast machines.
>>>>>>>>>
>>>>>>>>> Looking back at the GCC 4.5.0 compiler failure back in May, that was
>>>>>>>>> an internal compiler error while building e2fsprogs on Ubuntu 9.10,
>>>>>>>>> GCC 4.5.0 Built OK at stage 1 in that situation.
>>>>>>>> indeed, in my trunk (built on a x86_64 t2/trunk) e2fsprogs get's the
>>>>>>>> cross gcc to an internal compiler error (ICE), ...
>>>>>>>>
>>>>>>>> René
>>>>>>> <mips64-svn.patch>
>>>>>>> <mips64-gcc-4.4.3.patch>
>>>>>>> <mips64-e2fsprog.patch>
>>>>>> -----------------------------------------------------------
>>>>>> If you wish to unsubscribe from this mailing, send mail to
>>>>>> [email protected] with a subject of: unsubscribe t2
>>
>
> --
> René Rebe, ExactCODE GmbH, Jaegerstr. 67, DE-10117 Berlin
> http://exactcode.com | http://t2-project.org | http://rene.rebe.de
>
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> [email protected] with a subject of: unsubscribe t2
--
René Rebe, ExactCODE GmbH, Jaegerstr. 67, DE-10117 Berlin
http://exactcode.com | http://t2-project.org | http://rene.rebe.de
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2