Subject: Re: NetBSD/hpcsh snapshot with X11 sets uploaded to ftp.n.o
To: Valeriy E. Ushakov <uwe@ptc.spbu.ru>
From: Nick Hudson <skrll@netbsd.org>
List: port-sh3
Date: 03/08/2004 20:28:54
[redirected to port-sh3]
On Saturday 06 March 2004 01:52, Valeriy E. Ushakov wrote:
[...]
> > % groff
> > Illegal instruction (core dumped)
> > % gdb /usr/bin/groff groff.core
> >
> > (gdb) bt
> > #0 0x0041abec in __udivsi3 ()
> > #1 0x20524b60 in __udivdi3 () from /usr/lib/libgcc_s.so.1
> > #2 0x205cd522 in __eqdf2 () from /usr/lib/libc.so.12
>
> Ok, I think the problem is that __udivsi3 (and other millicode
> routines) are included into libgcc_s.so without being ".hidden".
hmm, afaict this isn't what a stock gcc build will do. You can easily enable
it though by copying the .S.so .s.so rule from libgcc3/libgcc/Makefile to
libgcc3/libgcc_s/Makefile and rebuilding.
> $ shle--netbsdelf-readelf -a libgcc/_udivsi3.so | grep __udivsi3
> 7: 00000022 0 NOTYPE GLOBAL HIDDEN 1 __udivsi3
> $ shle--netbsdelf-readelf -a libgcc_s/_udivsi3.so | grep __udivsi3
> 7: 00000022 0 NOTYPE GLOBAL DEFAULT 1 __udivsi3
The NOTYPE is because
gnu/dist/gcc/gcc/config/sh/lib1funcs.asm
doesn't do
.type foo, @function
I'm not sure that helps...
Nick