open-src/driver/xf86-video-cirrus/mapfiles.patch
changeset 98 c21b46ed1efd
child 194 c2b76d8a41f7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/driver/xf86-video-cirrus/mapfiles.patch	Wed Jan 31 16:30:33 2007 -0800
@@ -0,0 +1,73 @@
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Use subject to license terms.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, and/or sell copies of the Software, and to permit persons
+# to whom the Software is furnished to do so, provided that the above
+# copyright notice(s) and this permission notice appear in all copies of
+# the Software and that both the above copyright notice(s) and this
+# permission notice appear in supporting documentation.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+# 
+# Except as contained in this notice, the name of a copyright holder
+# shall not be used in advertising or otherwise to promote the sale, use
+# or other dealings in this Software without prior written authorization
+# of the copyright holder.
+
+--- src/Makefile.am	2007-01-10 19:12:16.281143000 -0800
++++ src/Makefile.am	2007-01-10 19:24:44.193611000 -0800
+@@ -56,3 +56,42 @@
+          lg_i2c.c \
+          lg_xaa.c \
+          lg_xaa.h
++
++
++# Generate linker mapfiles for symbols found in other modules and use them
++# and library flag additions to make sure all symbols are resolvable
++
++MAPFILES = \
++	mapfile-cirrus_drv-external	 	\
++	mapfile-cirrus_alpine-external 	\
++	mapfile-cirrus_laguna-external
++
++BUILT_SOURCES = $(MAPFILES)
++
++cirrus_drv_la_LDFLAGS += \
++	-Wl,-M,mapfile-cirrus_alpine-external \
++	-Wl,-M,mapfile-cirrus_laguna-external \
++	-lddc -li2c -lint10 -lvgahw -lvbe
++
++cirrus_alpine_la_LDFLAGS += \
++	-Wl,-M,mapfile-cirrus_drv-external \
++	-lddc -lfb -li2c -lint10 -lramdac -lshadowfb -lvgahw -lxaa \
++	-lxf1bpp -lxf4bpp -lXfont
++
++cirrus_laguna_la_LDFLAGS += \
++	-Wl,-M,mapfile-cirrus_drv-external \
++	-lddc -lfb -li2c -lint10 -lramdac -lvgahw -lxaa
++
++mapfiles: $(MAPFILES)
++
++mapfile-cirrus_drv-external: $(cirrus_drv_la_OBJECTS)
++mapfile-cirrus_alpine-external: $(cirrus_alpine_la_OBJECTS)
++mapfile-cirrus_laguna-external: $(cirrus_laguna_la_OBJECTS)
++
++mapfile-%-external: 
++	-rm -f $@
++	printf '# Functions exported to loadable modules\n\n' > $@
++	printf '{\n  global:\n' >> $@
++	/usr/ccs/bin/nm -g $? | grep -v UNDEF | sed -n -e 's/^.*\|FUNC \|GLOB \|.*\|\(.*\)$$/    \1 = FUNCTION extern;/p' -e 's/^.*\|OBJT \|GLOB \|.*\|\(.*\)$$/    \1 = DATA extern;/p' >> $@
++	printf '};\n' >> $@
++