This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Fix compilation on the recent glibc CVS snapshot


Hi,

recent glibc change:

2007-05-24  Ulrich Drepper  <drepper@redhat.com>

	* io/fcntl.h: When compiling with fortification, include bits/fcntl2.h.
	* io/bits/fcntl2.h: New file.

started to sanity check the parameters of the open(2) syscall by providing

	#define open(fname, flags, ...)

which errors out the GDB CVS snapshot compilation by:

	gcc -c -O2 -m64 -ggdb2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4    -I. -I.././gdb -I.././gdb/config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I.././gdb/../include/opcode -I.././gdb/../readline/.. -I../bfd -I.././gdb/../bfd -I.././gdb/../include   -DMI_OUT=1 -DTUI=1  -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wno-switch -Wno-char-subscripts -Werror serial.c
	serial.c: In function ‘serial_open’:
	serial.c:216: error: expected identifier before ‘(’ token
	make[2]: *** [serial.o] Error 1
	make[2]: Leaving directory `/root/redhat/sources/gdb'

GCC needs these options to make the problem reproducible:
	-O -pedantic -Wp,-D_FORTIFY_SOURCE=2

Successful compilation requirs also the BFD patch posted as:
	http://sourceware.org/ml/binutils/2007-08/msg00114.html



Regards,
Jan
2007-08-08  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* serial.c (serial_open): Fix OPEN parameter macro expansion.

--- gdb/serial.c	8 Apr 2007 15:20:07 -0000	1.29
+++ gdb/serial.c	8 Aug 2007 20:32:10 -0000
@@ -213,7 +213,8 @@ serial_open (const char *name)
   scb->bufp = scb->buf;
   scb->error_fd = -1;
 
-  if (scb->ops->open (scb, open_name))
+  /* `...->open (...)' would get expanded by an the open(2) syscall macro.  */
+  if ((*scb->ops->open) (scb, open_name))
     {
       xfree (scb);
       return NULL;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]