summaryrefslogtreecommitdiff
path: root/hw/xfree86
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xfree86')
-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