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