I hacked out a rough first implementation of parisc64 for klibc last month, and only just got around to testing it now. The good news, it compiled fine on the first shot. The bad news, it failed to link usr/klibc/libc.so, and I'm not clueful enough to know why. hppa64-linux-gnu-ld -Ttext 0x40001000 -o usr/klibc/libc.so --start-group [...] usr/klibc/socketcalls/recvmsg.o /usr/lib/gcc/hppa64-linux-gnu/4.1.2/libgcc.a --end-group hppa64-linux-gnu-ld: warning: cannot find entry symbol main; defaulting to 0000000040001000 hppa64-linux-gnu-ld: usr/klibc/libc.so: Not enough room for program headers (allocated 5, need 6) Section to Segment mapping: Segment Sections... 00: PHDR: 01: INTERP: .interp 02: LOAD: .interp .dynamic .hash .dynsym .dynstr 03: LOAD: .text .rodata .PARISC.unwind .eh_frame 04: LOAD: .data.rel.ro .data .opd .dlt .bss 05: DYNAMIC: .dynamic hppa64-linux-gnu-ld: final link failed: Bad value make[2]: *** [usr/klibc/libc.so] Error 1 make[1]: *** [all] Error 2 make: *** [klibc] Error 2 You can fetch it from git://git.kernel.org/pub/scm/linux/kernel/git/kyle/klibc-parisc64.git, and compile it with: make CROSS_COMPILE=hppa64-linux-gnu- ARCH=parisc64 V=1 (It seemed to build without warning on my Debian etch rp2470) Any hints would be appreciated. Cheers, Kyle M.
> The good news, it compiled fine on the first shot. The bad news, > it failed to link usr/klibc/libc.so, and I'm not clueful enough > to know why. > > hppa64-linux-gnu-ld -Ttext 0x40001000 -o usr/klibc/libc.so --start-group > [...] > usr/klibc/socketcalls/recvmsg.o /usr/lib/gcc/hppa64-linux-gnu/4.1.2/libgcc.a --end-group > hppa64-linux-gnu-ld: warning: cannot find entry symbol main; defaulting to 0000000040001000 > hppa64-linux-gnu-ld: usr/klibc/libc.so: Not enough room for program headers (allocated 5, need 6) > Section to Segment mapping: > Segment Sections... > 00: PHDR: > 01: INTERP: .interp > 02: LOAD: .interp .dynamic .hash .dynsym .dynstr > 03: LOAD: .text .rodata .PARISC.unwind .eh_frame > 04: LOAD: .data.rel.ro .data .opd .dlt .bss > 05: DYNAMIC: .dynamic > hppa64-linux-gnu-ld: final link failed: Bad valueThis is a ld bug. I see the same problem on hpux with '-static'. We need another program header sometimes and I haven't figured out why. I had a hack on my A500 that I might be able to find but it's down at the moment. Dave -- J. David Anglin dave.anglin at nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
Apparently Analagous Threads
- [PATCH] Add hppa, hppa64, ppc64el architectures
- [supermin PATCH 5/5] utils: remove unused 'compare_architecture' function
- PA-RISC (hppa) video cards init failure loading the device driver kernel module
- PA-RISC (hppa) video cards init failure loading the device driver kernel module
- [klibc:master] ppc64: Add ppc64le support