diff options
author | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2014-01-04 15:52:08 +0000 |
---|---|---|
committer | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2014-01-04 15:52:08 +0000 |
commit | 24d66d72f5fd5fdfb9ba7617aecc00086769de32 (patch) | |
tree | e70e94bd5f3e3575628d090000d5088c260094a0 | |
parent | 558a5aa84cf7e1651ac465c71a77c68fd3d31cf7 (diff) |
Update to x11proto 7.0.25
-rw-r--r-- | proto/x11proto/ChangeLog | 52 | ||||
-rw-r--r-- | proto/x11proto/Xfuncproto.h.in | 9 | ||||
-rw-r--r-- | proto/x11proto/Xmd.h | 81 | ||||
-rw-r--r-- | proto/x11proto/Xproto.h | 13 | ||||
-rw-r--r-- | proto/x11proto/compile | 347 | ||||
-rw-r--r-- | proto/x11proto/configure.ac | 5 | ||||
-rw-r--r-- | proto/x11proto/keysymdef.h | 6 |
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 |