Prepare for gnulib update
authorPedro Alves <palves@redhat.com>
Mon, 24 Aug 2015 17:50:55 +0000 (18:50 +0100)
committerPedro Alves <palves@redhat.com>
Mon, 24 Aug 2015 17:50:55 +0000 (18:50 +0100)
commit438e1e427e8393de73d22617abe4d8eba0270e72
tree1250f0702953668c484bfd7a3201cf595e7d0808
parenta8c6d4fcd6b2a30c2b5b87d656ce035dcf8b0035
Prepare for gnulib update

After the last gnulib import (Dec 2012), gnulib upstream started
replacing mingw's 'struct timeval' with a version with 64-bit time_t,
for POSIX compliance:

 commit f8e84098084b3b53bc6943a5542af1f607ffd477
 Author: Bruno Haible <bruno@clisp.org>
 Date:   Sat Jan 28 18:12:10 2012 +0100
     sys_time: Override 'struct timeval' on some native Windows platforms.

See:

 https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00372.html

However, that results in conflicts with native Winsock2's 'select':

select()'s argument
http://sourceforge.net/p/mingw-w64/mailman/message/29610438/

... and libiberty's timeval-utils.h timeval_add/timeval_sub, at the
least.

We don't really need the POSIX compliance, so this patch prepares us
to simply not use gnulib's 'struct timeval' replacement once a more
recent gnulib is imported, thus preserving the current behavior, by
adding a sys/time.h wrapper header that undefs gnulib's replacements,
and including that everywhere instead.

The SIZE -> OSIZE change is necessary because newer gnulib's
sys/time.h also includes windows.h/winsock2.h, which defines a
conflicting SIZE symbol.

Cross build-tested mingw-w64 32-bit and 64-bit.
Regtested on x86_64 Fedora 20.

gdb/ChangeLog:
2015-08-24  Pedro Alves  <palves@redhat.com>

* Makefile.in (HFILES_NO_SRCDIR): Add common/gdb_sys_time.h.
* common/gdb_sys_time.h: New file.
* event-loop.c: Include gdb_sys_time.h instead of sys/time.h.
* gdb_select.h: Likewise.
* gdb_usleep.c: Likewise.
* maint.c: Likewise.
* mi/mi-main.c: Likewise.
* mi/mi-parse.h: Likewise.
* remote-fileio.c: Likewise.
* remote-m32r-sdi.c: Likewise.
* remote.c: Likewise.
* ser-base.c: Likewise.
* ser-pipe.c: Likewise.
* ser-tcp.c: Likewise.
* ser-unix.c: Likewise.
* symfile.c: Likewise.
* symfile.c: Likewise.  Rename OSIZE to SIZE throughout.
* target-memory.c: Include gdb_sys_time.h instead of sys/time.h.
* utils.c: Likewise.

gdb/gdbserver/ChangeLog:
2015-08-24  Pedro Alves  <palves@redhat.com>

* debug.c: Include gdb_sys_time.h instead of sys/time.h.
* event-loop.c: Likewise.
* remote-utils.c: Likewise.
* tracepoint.c: Likewise.
24 files changed:
gdb/ChangeLog
gdb/Makefile.in
gdb/common/gdb_sys_time.h [new file with mode: 0644]
gdb/event-loop.c
gdb/gdb_select.h
gdb/gdb_usleep.c
gdb/gdbserver/ChangeLog
gdb/gdbserver/debug.c
gdb/gdbserver/event-loop.c
gdb/gdbserver/remote-utils.c
gdb/gdbserver/tracepoint.c
gdb/maint.c
gdb/mi/mi-main.c
gdb/mi/mi-parse.h
gdb/remote-fileio.c
gdb/remote-m32r-sdi.c
gdb/remote.c
gdb/ser-base.c
gdb/ser-pipe.c
gdb/ser-tcp.c
gdb/ser-unix.c
gdb/symfile.c
gdb/target-memory.c
gdb/utils.c