Subject: port-alpha/17109: PLT errors on alpha from XFree86 4.2.0 binary
To: None <gnats-bugs@gnats.netbsd.org>
From: None <dhop@nwlink.com>
List: netbsd-bugs
Date: 05/30/2002 18:03:48
>Number:         17109
>Category:       port-alpha
>Synopsis:       PLT errors upon blitting in XFree86
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-alpha-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu May 30 18:04:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     David Hopper
>Release:        NetBSD 1.6A
>Organization:
	 Kitty Empire
>Environment:
	
	
System: NetBSD scarab 1.6A NetBSD 1.6A (ALPHA-$Revision: 1.127.2.4 $) #0: Thu May 30 12:37:08 UTC 2002 bard@scarab:/guns/src/sys/arch/alpha/compile/SCARAB alpha
Architecture: alpha
Machine: alpha

All installed source (xsrc and NetBSD userland) is from a May 29, 2002 cvs.

scarab: {1} ldd /usr/X11R6/bin/XFree86
/usr/X11R6/bin/XFree86:
  -lz.0 => /usr/lib/libz.so.0
  -lm.0 => /usr/lib/libm.so.0
  -lalpha.0 => /usr/lib/libalpha.so.0
  -lc.12 => /usr/lib/libc.so.12
>Description:
	
	Some history regarding this issue is at:
	http://mail-index.netbsd.org/port-alpha/2001/02/08/0006.html
	Also refer to PR 10455 and PR 11831 for background on PLT errors within the alpha toolchain. 
	It's unclear whether this is the same issue, as NetBSD has since upgraded to gcc 2.95.3, and
	various builds of XFree86 have functioned through workarounds in the past.
	The problem:  the 4.2.0 version of the xfree source, as presently in the -current tree,
	compiles code that dumps out with PLT errors in various symbols including _malloc, _strcpy,
	and others upon blitting (moving windows, scrolling text, etc.).
	In the past (4.0.3 and 4.1.0), linking the main binary either with -Wl,-E or -Wl,-Bstatic 
	or -Wl,--export-dynamic resulted in code that ran fine with acceleration enabled, at least 
	on this Miata + Matrox 2164w combo.  This no longer works, however, and the PLT errors have
	returned.  I have yet to hear from any success stories in the alpha camp regarding 
	the 4.2.0 tree presently in -current.
	
>How-To-Repeat:
	
	Apply patches to allow the tree to compile, from March 2001:
	http://mail-index.netbsd.org/port-alpha/2001/03/30/0000.html
	make the Makefiles, change the programs/Xserver/Makefile to indicate -Wl,-E, and make install.
	No worky.  Try -Wl,-Bstatic, and -Wl,--export-dynamic.  Be sure to have an external telnet
	available; you'll need it.
>Fix:
	
	The following post indicates past workarounds, including a link to Simon Burge's original 
	patches.
	http://mail-index.netbsd.org/port-alpha/2001/09/29/0003.html
	As there may be some code in there that is still referencing a dynamic module, I'm crawling 
	through the Makefiles to replace *all* -Wl,-rpath statements with -Wl,-Bstatic to see what 
	happens.
	Finally, apologies if this is a bug that should be directed to the X11 people, and 
	not a port-alpha bug.  I'm not too well-versed in how the alpha toolchain works, and 
	whether XFree86 is doing something horribly wrong.
>Release-Note:
>Audit-Trail:
>Unformatted: