J?rgen Keil wrote:
>> We don't have the build logs or workspaces still from snv_48, but in a more
>> recent snv_59 build log:
>>
>> cc -c -xO3 -xbuiltin -xlibmil -Xc -xF -xarch=v8 -xregs=no%appl -mt -I../..
>> -I/net/paravon/export/x-re/build/milestone/NV/BIWEEKLY_X_NV_SPARC/xc/lib/X11/../..
>> /../proto-sun4-svr4/usr/X11/include
>> -I/net/paravon/export/x-re/build/milestone/
>> NV/BIWEEKLY_X_NV_SPARC/xc/lib/X11/../../../proto-sun4-svr4/usr/X11/include/X11
>> -I/net/paravon/export/x-re/build/milestone/NV/BIWEEKLY_X_NV_SPARC/xc/lib/X11/../..
>> /../proto-sun4-svr4/usr/X11/include/X11/extensions -Dsun -Dsparc -DSVR4
>> -DSYSV
>> -D__EXTENSIONS__ -DDPMSExtension -DXRECORD -DEVI -DDHAKAZULU -DTSOL
>> -DSUNSOFT
>> -DXSUN -DXTHREADS -mt -DMALLOC_0_RETURNS_NULL -DSUNSOFT -DSUN_CUP -Kpic
>> IntAtom.c
>
>
>
> The "-xbuiltin" flag seems to introduce "%g2" register usage and
> works against the "-xregs=no%appl" option. Apparently,
> when substituting inlined versions of standard library functions.
The compiler team has now confirmed this is a bug in the inlined
versions of the mem*() functions used with -xbuiltin and is working
on a fix. Once this is in a patch, we can ask the Nevada CBE team
to include it in the standard Nevada CBE - but I don't know how long
either stage of that will take.
They've also provided a workaround flag that disables individual
inlined functions (-Wc,-Qinline-memcpy=0) - is this causing serious
problems that we need to apply the workaround until the CBE is patched?
(When I originally did the work, I remember breaking Ada programs as
being the biggest source of pain from using the application registers,
but don't know how bad the effects are on qemu, or what else may be
breaking from it.)
--
-Alan Coopersmith- alan.coopersmith at sun.com
Sun Microsystems, Inc. - X Window System Engineering