summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>2008-12-08 22:11:50 -0200
committerPaulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>2008-12-08 22:11:50 -0200
commit7c8720c1433d2c3b85bbf4b811cc54c2df4c0080 (patch)
treef5eacfbbccebad984f3d461900b352b55e97c16e
parent58a27d2932164e43c0db42b1286ec2f95250b420 (diff)
Correct wrong symbol reference on sparc.
The awk script was incorrectly referencing the struct name, and not the struct variable. Also added some comments to sdksyms.sh, for the reason it generates the "symbol table" and add a message to the generated file, telling is was automatically generated.
-rw-r--r--hw/xfree86/common/xf86sbusBus.h5
-rwxr-xr-xhw/xfree86/loader/sdksyms.sh13
2 files changed, 12 insertions, 6 deletions
diff --git a/hw/xfree86/common/xf86sbusBus.h b/hw/xfree86/common/xf86sbusBus.h
index e83592d15..5cdb0951a 100644
--- a/hw/xfree86/common/xf86sbusBus.h
+++ b/hw/xfree86/common/xf86sbusBus.h
@@ -56,16 +56,17 @@ typedef struct sbus_device {
char *device;
} sbusDevice, *sbusDevicePtr;
-extern _X_EXPORT struct sbus_devtable {
+struct sbus_devtable {
int devId;
int fbType;
char *promName;
char *driverName;
char *descr;
-} sbusDeviceTable[];
+};
extern _X_EXPORT void xf86SbusProbe(void);
extern _X_EXPORT sbusDevicePtr *xf86SbusInfo;
+extern _X_EXPORT struct sbus_devtable sbusDeviceTable[];
extern _X_EXPORT int xf86MatchSbusInstances(const char *driverName, int sbusDevId,
GDevPtr *devList, int numDevs, DriverPtr drvp,
diff --git a/hw/xfree86/loader/sdksyms.sh b/hw/xfree86/loader/sdksyms.sh
index 2f62cd7ef..b522096a7 100755
--- a/hw/xfree86/loader/sdksyms.sh
+++ b/hw/xfree86/loader/sdksyms.sh
@@ -1,6 +1,8 @@
#!/bin/sh
cat > sdksyms.c << EOF
+/* This file is automatically generated by sdksyms.sh. */
+
#ifdef HAVE_XORG_CONFIG_H
#include <xorg-config.h>
#endif
@@ -320,6 +322,10 @@ EOF
cpp -DXorgLoader $@ sdksyms.c | awk '
BEGIN {
sdk = 0;
+ print("/*");
+ print(" * These symbols are referenced to ensure they");
+ print(" * will be available in the X Server binary.");
+ print(" */");
print("_X_HIDDEN void *xorg_symbols[] = {");
}
/^# [0-9]+/ {
@@ -345,11 +351,8 @@ BEGIN {
n++;
# match
- # extern _X_EXPORT struct name {
- if ($n == "{")
- n--;
# extern _X_EXPORT type (* name[])(...)
- else if ($n ~ /^[^[:alnum:]_]+$/)
+ if ($n ~ /^[^[:alnum:]_]+$/)
n++;
# match
@@ -389,4 +392,6 @@ STATUS=$?
cat _sdksyms.c >> sdksyms.c
rm _sdksyms.c
+[ $? != 0 ] && exit $?
+
exit $STATUS