gdbserver build broken on amd64-linux

Joel Brobecker
Wed Oct 20 05:32:00 GMT 2004

The compiler fails to find a couple of macros:

> gcc -c -Wall -g -O2    -I. -I. -I./../regformats -I./../../include -I../../bfd -I./../../bfd linux-x86-64-low.c
> linux-x86-64-low.c: In function 'ps_get_thread_area':
> linux-x86-64-low.c:70: error: 'ARCH_GET_FS' undeclared (first use in this function)
> linux-x86-64-low.c:70: error: (Each undeclared identifier is reported only once
> linux-x86-64-low.c:70: error: for each function it appears in.)
> linux-x86-64-low.c:74: error: 'ARCH_GET_GS' undeclared (first use in this function)

I found the definitions in asm-x86_64/prctl.h. So I #included that file,
and the build succeeded. Looking at the name, I wasn't too enthusiastic
about it, as it didn't look too standard, so I looked around, and saw
that this file is included from asm/prctl.h. So I changed the #include
to that file instead, and got the builds again.

2004-10-19  Joel Brobecker  <>

        * linux-x86-64-low.c: Include asm/prctl.h.

I hope this is the right fix, but at the same time, I can't help but
wonder how it did work before... Let me know if this is OK to apply
or if it is the wrong fix (I am hoping that the location of these
macros is not dependent on the Linux distribution).

-------------- next part --------------
Index: linux-x86-64-low.c
RCS file: /cvs/src/src/gdb/gdbserver/linux-x86-64-low.c,v
retrieving revision 1.8
diff -u -p -r1.8 linux-x86-64-low.c
--- linux-x86-64-low.c	16 Oct 2004 17:42:00 -0000	1.8
+++ linux-x86-64-low.c	20 Oct 2004 05:27:24 -0000
@@ -41,6 +41,7 @@
 #include <sys/reg.h>
 #include <sys/procfs.h>
 #include <sys/ptrace.h>
+#include <asm/prctl.h>
 /* This definition comes from prctl.h, but some kernels may not have it.  */

More information about the Gdb-patches mailing list