summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2014-01-04 15:52:08 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2014-01-04 15:52:08 +0000
commit24d66d72f5fd5fdfb9ba7617aecc00086769de32 (patch)
treee70e94bd5f3e3575628d090000d5088c260094a0
parent558a5aa84cf7e1651ac465c71a77c68fd3d31cf7 (diff)
Update to x11proto 7.0.25
-rw-r--r--proto/x11proto/ChangeLog52
-rw-r--r--proto/x11proto/Xfuncproto.h.in9
-rw-r--r--proto/x11proto/Xmd.h81
-rw-r--r--proto/x11proto/Xproto.h13
-rw-r--r--proto/x11proto/compile347
-rw-r--r--proto/x11proto/configure.ac5
-rw-r--r--proto/x11proto/keysymdef.h6
7 files changed, 435 insertions, 78 deletions
diff --git a/proto/x11proto/ChangeLog b/proto/x11proto/ChangeLog
index d872b46e9..68d12ef34 100644
--- a/proto/x11proto/ChangeLog
+++ b/proto/x11proto/ChangeLog
@@ -1,3 +1,55 @@
+commit a7fa86998c873ce7463d169b4bd423898ca2bae1
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Fri Nov 22 22:14:24 2013 -0800
+
+ xproto 7.0.25
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit a8aa17cb63493b4b756587ddc884a9055dba14da
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date: Sat Oct 26 09:42:05 2013 -0400
+
+ config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES
+
+ Fix Automake warning: AC_OUTPUT should be used without arguments.
+ www.gnu.org/software/autoconf/manual/autoconf.html#Configuration-Files
+
+ Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit ed5a86761d96d4bdebda4f09071a49cbf4688d1b
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Fri Mar 1 20:05:12 2013 -0800
+
+ Remove WORD64, MUSTCOPY, and other CRAY leftovers
+
+ Leaves behind several no-op macros for compatibility with existing
+ code that uses them.
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 6d4acb0e3a6568a8faaa651d4e3d32f917b9067b
+Author: Benno Schulenberg <bensberg@justemail.net>
+Date: Sat Aug 31 17:00:34 2013 +0200
+
+ Additional dead keysyms to complete the German DIN T3 keyboard layout.
+
+ Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
+ Signed-off-by: James Cloos <cloos@jhcloos.com>
+
+commit 043ed78ce03febd113615f5920bc9dffaf7f0b16
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Fri Apr 19 14:45:28 2013 -0700
+
+ Add _X_COLD attribute for branch prediction hints
+
+ Unfortunately the Solaris Studio equivalent is a pragma taking the
+ function names as arguments, so doesn't translate cleanly into a
+ common macro form.
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
commit d103af8068fb90494cbd6e1ff950850369bbf95f
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Mar 29 16:20:49 2013 -0700
diff --git a/proto/x11proto/Xfuncproto.h.in b/proto/x11proto/Xfuncproto.h.in
index 8256fecd9..dac92291e 100644
--- a/proto/x11proto/Xfuncproto.h.in
+++ b/proto/x11proto/Xfuncproto.h.in
@@ -97,6 +97,7 @@ in this Software without prior written authorization from The Open Group.
# define _X_INTERNAL
#endif /* GNUC >= 4 */
+/* Branch prediction hints for individual conditionals */
/* requires xproto >= 7.0.9 */
#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303)
# define _X_LIKELY(x) __builtin_expect(!!(x), 1)
@@ -106,6 +107,14 @@ in this Software without prior written authorization from The Open Group.
# define _X_UNLIKELY(x) (x)
#endif
+/* Bulk branch prediction hints via marking error path functions as "cold" */
+/* requires xproto >= 7.0.25 */
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 403) /* 4.3+ */
+# define _X_COLD __attribute__((__cold__))
+#else
+# define _X_COLD /* nothing */
+#endif
+
/* Added in X11R6.9, so available in any version of modular xproto */
#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 301)
# define _X_DEPRECATED __attribute__((deprecated))
diff --git a/proto/x11proto/Xmd.h b/proto/x11proto/Xmd.h
index 96cc08ffd..492465e6c 100644
--- a/proto/x11proto/Xmd.h
+++ b/proto/x11proto/Xmd.h
@@ -70,15 +70,6 @@ SOFTWARE.
# endif
/*
- * Stuff to handle large architecture machines; the constants were generated
- * on a 32-bit machine and must correspond to the protocol.
- */
-# ifdef WORD64
-# define MUSTCOPY
-# endif /* WORD64 */
-
-
-/*
* Definition of macro used to set constants for size of network structures;
* machines with preprocessors that can't handle all of the sz_ symbols
* can define this macro to be sizeof(x) if and only if their compiler doesn't
@@ -100,29 +91,15 @@ SOFTWARE.
* need them. Note that bitfields are not guaranteed to be signed
* (or even unsigned) according to ANSI C.
*/
-# ifdef WORD64
-typedef long INT64;
-typedef unsigned long CARD64;
-# define B32 :32
-# define B16 :16
-# ifdef UNSIGNEDBITFIELDS
-typedef unsigned int INT32;
-typedef unsigned int INT16;
-# else
-typedef signed int INT32;
-typedef signed int INT16;
-# endif
-# else
-# define B32
-# define B16
-# ifdef LONG64
+# define B32 /* bitfield not needed on architectures with native 32-bit type */
+# define B16 /* bitfield not needed on architectures with native 16-bit type */
+# ifdef LONG64
typedef long INT64;
typedef int INT32;
-# else
+# else
typedef long INT32;
-# endif
-typedef short INT16;
# endif
+typedef short INT16;
typedef signed char INT8;
@@ -130,10 +107,8 @@ typedef signed char INT8;
typedef unsigned long CARD64;
typedef unsigned int CARD32;
# else
-typedef unsigned long CARD32;
-# endif
-# if !defined(WORD64) && !defined(LONG64)
typedef unsigned long long CARD64;
+typedef unsigned long CARD32;
# endif
typedef unsigned short CARD16;
typedef unsigned char CARD8;
@@ -145,43 +120,23 @@ typedef CARD8 BYTE;
typedef CARD8 BOOL;
/*
- * definitions for sign-extending bitfields on 64-bit architectures
+ * was definitions for sign-extending bitfields on architectures without
+ * native types smaller than 64-bit, now just backwards compatibility
*/
-# if defined(WORD64) && defined(UNSIGNEDBITFIELDS)
-# define cvtINT8toInt(val) (((val) & 0x00000080) ? ((val) | 0xffffffffffffff00) : (val))
-# define cvtINT16toInt(val) (((val) & 0x00008000) ? ((val) | 0xffffffffffff0000) : (val))
-# define cvtINT32toInt(val) (((val) & 0x80000000) ? ((val) | 0xffffffff00000000) : (val))
-# define cvtINT8toShort(val) cvtINT8toInt(val)
-# define cvtINT16toShort(val) cvtINT16toInt(val)
-# define cvtINT32toShort(val) cvtINT32toInt(val)
-# define cvtINT8toLong(val) cvtINT8toInt(val)
-# define cvtINT16toLong(val) cvtINT16toInt(val)
-# define cvtINT32toLong(val) cvtINT32toInt(val)
-# else
-# define cvtINT8toInt(val) (val)
-# define cvtINT16toInt(val) (val)
-# define cvtINT32toInt(val) (val)
-# define cvtINT8toShort(val) (val)
-# define cvtINT16toShort(val) (val)
-# define cvtINT32toShort(val) (val)
-# define cvtINT8toLong(val) (val)
-# define cvtINT16toLong(val) (val)
-# define cvtINT32toLong(val) (val)
-# endif /* WORD64 and UNSIGNEDBITFIELDS */
+# define cvtINT8toInt(val) (val)
+# define cvtINT16toInt(val) (val)
+# define cvtINT32toInt(val) (val)
+# define cvtINT8toShort(val) (val)
+# define cvtINT16toShort(val) (val)
+# define cvtINT32toShort(val) (val)
+# define cvtINT8toLong(val) (val)
+# define cvtINT16toLong(val) (val)
+# define cvtINT32toLong(val) (val)
-
-
-# ifdef MUSTCOPY
-/*
- * This macro must not cast or else pointers will get aligned and be wrong
- */
-# define NEXTPTR(p,t) (((char *) p) + SIZEOF(t))
-# else /* else not MUSTCOPY, this is used for 32-bit machines */
/*
* this version should leave result of type (t *), but that should only be
* used when not in MUSTCOPY
*/
-# define NEXTPTR(p,t) (((t *)(p)) + 1)
-# endif /* MUSTCOPY - used machines whose C structs don't line up with proto */
+# define NEXTPTR(p,t) (((t *)(p)) + 1)
#endif /* XMD_H */
diff --git a/proto/x11proto/Xproto.h b/proto/x11proto/Xproto.h
index 495d44194..76e2c9972 100644
--- a/proto/x11proto/Xproto.h
+++ b/proto/x11proto/Xproto.h
@@ -625,13 +625,9 @@ typedef struct _xQueryFontReply {
CARD16 sequenceNumber B16;
CARD32 length B32; /* definitely > 0, even if "nCharInfos" is 0 */
xCharInfo minBounds;
-#ifndef WORD64
CARD32 walign1 B32;
-#endif
xCharInfo maxBounds;
-#ifndef WORD64
CARD32 walign2 B32;
-#endif
CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
CARD16 defaultChar B16;
CARD16 nFontProps B16; /* followed by this many xFontProp structures */
@@ -674,13 +670,9 @@ typedef struct {
CARD16 sequenceNumber B16;
CARD32 length B32; /* definitely > 0, even if "nameLength" is 0 */
xCharInfo minBounds;
-#ifndef WORD64
CARD32 walign1 B32;
-#endif
xCharInfo maxBounds;
-#ifndef WORD64
CARD32 walign2 B32;
-#endif
CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
CARD16 defaultChar B16;
CARD16 nFontProps B16; /* followed by this many xFontProp structures */
@@ -1447,12 +1439,7 @@ typedef struct {
CARD16 length B16;
Window destination B32;
CARD32 eventMask B32;
-#ifdef WORD64
- /* the structure should have been quad-aligned */
- BYTE eventdata[SIZEOF(xEvent)];
-#else
xEvent event;
-#endif /* WORD64 */
} xSendEventReq;
typedef struct {
diff --git a/proto/x11proto/compile b/proto/x11proto/compile
new file mode 100644
index 000000000..531136b06
--- /dev/null
+++ b/proto/x11proto/compile
@@ -0,0 +1,347 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2012-10-14.11; # UTC
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no '-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # '.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/proto/x11proto/configure.ac b/proto/x11proto/configure.ac
index 0e21f8e9c..04f123827 100644
--- a/proto/x11proto/configure.ac
+++ b/proto/x11proto/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.60])
-AC_INIT([Xproto], [7.0.24],
+AC_INIT([Xproto], [7.0.25],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
@@ -209,8 +209,9 @@ if test "x$WIDEPROTO" = xno; then
fi
-AC_OUTPUT([Makefile
+AC_CONFIG_FILES([Makefile
specs/Makefile
specs/SIAddresses/Makefile
Xpoll.h
xproto.pc])
+AC_OUTPUT
diff --git a/proto/x11proto/keysymdef.h b/proto/x11proto/keysymdef.h
index ae73977cb..147ecf552 100644
--- a/proto/x11proto/keysymdef.h
+++ b/proto/x11proto/keysymdef.h
@@ -414,6 +414,12 @@ SOFTWARE.
#define XK_dead_belowcomma 0xfe6e
#define XK_dead_currency 0xfe6f
+/* extra dead elements for German T3 layout */
+#define XK_dead_lowline 0xfe90
+#define XK_dead_aboveverticalline 0xfe91
+#define XK_dead_belowverticalline 0xfe92
+#define XK_dead_longsolidusoverlay 0xfe93
+
/* dead vowels for universal syllable entry */
#define XK_dead_a 0xfe80
#define XK_dead_A 0xfe81