From 7c8720c1433d2c3b85bbf4b811cc54c2df4c0080 Mon Sep 17 00:00:00 2001 From: Paulo Cesar Pereira de Andrade Date: Mon, 8 Dec 2008 22:11:50 -0200 Subject: [PATCH] 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. --- hw/xfree86/common/xf86sbusBus.h | 5 +++-- hw/xfree86/loader/sdksyms.sh | 13 +++++++++---- 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 #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