This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[RFC/RFA] Fix building with -DDEBUG=7 CFLAGS option.
- From: "Pierre Muller" <pierre dot muller at ics-cnrs dot unistra dot fr>
- To: "'Binutils'" <binutils at sourceware dot org>
- Date: Mon, 20 Sep 2010 23:47:19 +0200
- Subject: [RFC/RFA] Fix building with -DDEBUG=7 CFLAGS option.
Following my attempt to fix problems related
to the sizeof(long) < sizeof(void*) for mingw64,
I started to try to build gdb and Binutils using
-DDEBUG=7 in CFLAGS.
The macro DEBUG seems to be accepted in a wide
range of source files, but it gave a few errors,
which were quite easy to fix.
There are also some changes that are just needed
because a function was deleted from main source
or some type was changed.
I didn't try to investigate the soundness
of the current debug function but just fixed the
problems so that I could use
-DDEBUG=7
directly at build level for:
make all-gdb all-binutils all-gas all-ld
after applying this patch.
The least obvious change is in
Binutils/nlmheader.y file
in which I changed DEBUG token into _DEBUG.
I have no idea if this is an acceptable change
from the point of view of a parser specialist...
I suppose that the name given to the token itself
has no influence on the generated code, but I am unable to
test it ...
Pierre Muller
Pascal language support maintainer for GDB
bfd/ChangeLog entry:
2010-09-21 Pierre Muller <muller@ics.u-strasbg.fr>
Fix build with -DDEBUG=7
* elf.c (_bfd_elf_symbol_from_bfd_symbol): Remove call
to deleted function elf_symbol_flags.
Add typecast to avoid warning.
* elf32-rx.c (dump_symbol) : Rename to...
(rx_dump_symbol): ...this to avoid link errors.
* elflink.c (elf_link_input_bfd): Add typecast
to avoid warnings.
binutils/ChangeLog entry:
2010-09-21 Pierre Muller <muller@ics.u-strasbg.fr>
Fix build with -DDEBUG=7
nlmheader.y (DEBUG token): Rename to...
(_DEBUG token): ...this to avoid collision with DEBUG macro.
gas/ChangeLog entry:
2010-09-21 Pierre Muller <muller@ics.u-strasbg.fr>
Fix build with -DDEBUG=7
* config/obj-coff.c (s_get_name, symbol_dump):
Add prototypes to avoid warnings.
opcodes/ChangeLog entry:
2010-09-21 Pierre Muller <muller@ics.u-strasbg.fr>
Fix build with -DDEBUG=7
* frv-opc.c (DEBUG): Undefine DEBUG if needed
to avoid a problem in call to macro OP with DEBUG as argument.
* or32-dis.c: Avoid redefinition of DEBUG macro
if already set.
(find_bytes_big, or32_extract, or32_opcode_match, or32_print_register):
Adapt DEBUG code to some type changes throughout.
* or32-opc.c (or32_extract): Likewise.
Index: src/bfd/elf.c
===================================================================
RCS file: /cvs/src/src/bfd/elf.c,v
retrieving revision 1.520
diff -u -p -r1.520 elf.c
--- src/bfd/elf.c 16 Sep 2010 00:06:11 -0000 1.520
+++ src/bfd/elf.c 17 Sep 2010 15:24:09 -0000
@@ -5157,9 +5157,8 @@ _bfd_elf_symbol_from_bfd_symbol (bfd *ab
#if DEBUG & 4
{
fprintf (stderr,
- "elf_symbol_from_bfd_symbol 0x%.8lx, name = %s, sym num = %d, flags = 0x%.8lx%s\n",
- (long) asym_ptr, asym_ptr->name, idx, flags,
- elf_symbol_flags (flags));
+ "elf_symbol_from_bfd_symbol 0x%.8lx, name = %s, sym num = %d, flags = 0x%.8lx\n",
+ (long) asym_ptr, asym_ptr->name, idx, (long) flags);
fflush (stderr);
}
#endif
Index: src/bfd/elf32-rx.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-rx.c,v
retrieving revision 1.3
diff -u -p -r1.3 elf32-rx.c
--- src/bfd/elf32-rx.c 27 Jun 2010 04:07:51 -0000 1.3
+++ src/bfd/elf32-rx.c 20 Sep 2010 21:18:59 -0000
@@ -29,7 +29,7 @@
#ifdef DEBUG
char * rx_get_reloc (long);
-void dump_symtab (bfd *, void *, void *);
+void rx_dump_symtab (bfd *, void *, void *);
#endif
#define RXREL(n,sz,bit,shift,complain,pcrel) \
@@ -2962,7 +2962,7 @@ rx_elf_object_p (bfd * abfd)
#ifdef DEBUG
void
-dump_symtab (bfd * abfd, void * internal_syms, void * external_syms)
+rx_dump_symtab (bfd * abfd, void * internal_syms, void * external_syms)
{
size_t locsymcount;
Elf_Internal_Sym * isymbuf;
Index: src/bfd/elflink.c
===================================================================
RCS file: /cvs/src/src/bfd/elflink.c,v
retrieving revision 1.379
diff -u -p -r1.379 elflink.c
--- src/bfd/elflink.c 16 Sep 2010 00:06:11 -0000 1.379
+++ src/bfd/elflink.c 17 Sep 2010 15:24:12 -0000
@@ -9477,7 +9477,8 @@ elf_link_input_bfd (struct elf_final_lin
#ifdef DEBUG
printf ("Encountered a complex symbol!");
printf (" (input_bfd %s, section %s, reloc %ld\n",
- input_bfd->filename, o->name, rel - internal_relocs);
+ input_bfd->filename, o->name,
+ (long) (rel - internal_relocs));
printf (" symbol: idx %8.8lx, name %s\n",
r_symndx, sym_name);
printf (" reloc : info %8.8lx, addr %8.8lx\n",
Index: src/binutils/nlmheader.y
===================================================================
RCS file: /cvs/src/src/binutils/nlmheader.y,v
retrieving revision 1.13
diff -u -p -r1.13 nlmheader.y
--- src/binutils/nlmheader.y 2 Sep 2009 07:22:32 -0000 1.13
+++ src/binutils/nlmheader.y 20 Sep 2010 21:19:04 -0000
@@ -117,7 +117,7 @@ static char *xstrdup (const char *);
/* The reserved words. */
-%token CHECK CODESTART COPYRIGHT CUSTOM DATE DEBUG DESCRIPTION EXIT
+%token CHECK CODESTART COPYRIGHT CUSTOM DATE _DEBUG DESCRIPTION EXIT
%token EXPORT FLAG_ON FLAG_OFF FULLMAP HELP IMPORT INPUT MAP MESSAGES
%token MODULE MULTIPLE OS_DOMAIN OUTPUT PSEUDOPREEMPTION REENTRANT
%token SCREENNAME SHARELIB STACK START SYNCHRONIZE
@@ -202,7 +202,7 @@ command:
if (version_hdr->year < 1900 || version_hdr->year > 3000)
nlmheader_warn (_("illegal year"), -1);
}
- | DEBUG
+ | _DEBUG
{
debug_info = TRUE;
}
@@ -593,7 +593,7 @@ static struct keyword_tokens_struct keyw
{ "COPYRIGHT", COPYRIGHT },
{ "CUSTOM", CUSTOM },
{ "DATE", DATE },
- { "DEBUG", DEBUG },
+ { "DEBUG", _DEBUG },
{ "DESCRIPTION", DESCRIPTION },
{ "EXIT", EXIT },
{ "EXPORT", EXPORT },
Index: src/gas/config/obj-coff.c
===================================================================
RCS file: /cvs/src/src/gas/config/obj-coff.c,v
retrieving revision 1.106
diff -u -p -r1.106 obj-coff.c
--- src/gas/config/obj-coff.c 11 Jul 2010 08:45:50 -0000 1.106
+++ src/gas/config/obj-coff.c 17 Sep 2010 15:24:13 -0000
@@ -1829,12 +1829,16 @@ obj_coff_init_stab_section (segT seg)
}
#ifdef DEBUG
+const char * s_get_name (symbolS *);
+
const char *
s_get_name (symbolS *s)
{
return ((s == NULL) ? "(NULL)" : S_GET_NAME (s));
}
+void symbol_dump (void);
+
void
symbol_dump (void)
{
Index: src/opcodes/frv-opc.c
===================================================================
RCS file: /cvs/src/src/opcodes/frv-opc.c,v
retrieving revision 1.25
diff -u -p -r1.25 frv-opc.c
--- src/opcodes/frv-opc.c 12 Feb 2010 03:25:48 -0000 1.25
+++ src/opcodes/frv-opc.c 17 Sep 2010 15:24:14 -0000
@@ -1502,6 +1502,11 @@ static const CGEN_IFMT ifmt_fnop ATTRIBU
#define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
#define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
+/* DEBUG appear below as argument of OP macro, this leads to
+ problems if DEBUG is itself a macro. */
+#ifdef DEBUG
+#undef DEBUG
+#endif
/* The instruction table. */
static const CGEN_OPCODE frv_cgen_insn_opcode_table[MAX_INSNS] =
Index: src/opcodes/or32-dis.c
===================================================================
RCS file: /cvs/src/src/opcodes/or32-dis.c,v
retrieving revision 1.7
diff -u -p -r1.7 or32-dis.c
--- src/opcodes/or32-dis.c 5 Jul 2007 09:49:02 -0000 1.7
+++ src/opcodes/or32-dis.c 20 Sep 2010 21:19:11 -0000
@@ -20,7 +20,9 @@
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
+#ifndef DEBUG
#define DEBUG 0
+#endif
#include "dis-asm.h"
#include "opcode/or32.h"
@@ -41,7 +43,7 @@ find_bytes_big (unsigned char *insn_ch,
((unsigned long) insn_ch[2] << 8) +
((unsigned long) insn_ch[3]);
#if DEBUG
- printf ("find_bytes_big3: %x\n", *insn);
+ printf ("find_bytes_big3: %lx\n", *insn);
#endif
}
@@ -88,7 +90,7 @@ or32_extract (char param_ch, char *enc_i
{
unsigned long tmp = strtoul (enc, NULL, 16);
#if DEBUG
- printf (" enc=%s, tmp=%x ", enc, tmp);
+ printf (" enc=%s, tmp=%lx ", enc, tmp);
#endif
if (param_ch == '0')
tmp = 15 - tmp;
@@ -108,7 +110,7 @@ or32_extract (char param_ch, char *enc_i
opc_pos--;
param_pos--;
#if DEBUG
- printf ("\n ret=%x opc_pos=%x, param_pos=%x\n", ret, opc_pos, param_pos);
+ printf ("\n ret=%lx opc_pos=%x, param_pos=%x\n", ret, opc_pos, param_pos);
#endif
ret += ((insn >> opc_pos) & 0x1) << param_pos;
@@ -117,12 +119,12 @@ or32_extract (char param_ch, char *enc_i
&& ret >> (letter_range (param_ch) - 1))
{
#if DEBUG
- printf ("\n ret=%x opc_pos=%x, param_pos=%x\n",
+ printf ("\n ret=%lx opc_pos=%x, param_pos=%x\n",
ret, opc_pos, param_pos);
#endif
ret |= 0xffffffff << letter_range(param_ch);
#if DEBUG
- printf ("\n after conversion to signed: ret=%x\n", ret);
+ printf ("\n after conversion to signed: ret=%lx\n", ret);
#endif
}
enc++;
@@ -141,7 +143,7 @@ or32_extract (char param_ch, char *enc_i
enc++;
#if DEBUG
- printf ("ret=%x\n", ret);
+ printf ("ret=%lx\n", ret);
#endif
return ret;
}
@@ -158,8 +160,8 @@ or32_opcode_match (unsigned long insn, c
zeros = or32_extract ('0', encoding, insn);
#if DEBUG
- printf ("ones: %x \n", ones);
- printf ("zeros: %x \n", zeros);
+ printf ("ones: %lx \n", ones);
+ printf ("zeros: %lx \n", zeros);
#endif
if ((insn & ones) != ones)
{
@@ -194,7 +196,7 @@ or32_print_register (char param_ch,
int regnum = or32_extract (param_ch, encoding, insn);
#if DEBUG
- printf ("or32_print_register: %c, %s, %x\n", param_ch, encoding, insn);
+ printf ("or32_print_register: %c, %s, %lx\n", param_ch, encoding, insn);
#endif
if (param_ch == 'A')
(*info->fprintf_func) (info->stream, "r%d", regnum);
Index: src/opcodes/or32-opc.c
===================================================================
RCS file: /cvs/src/src/opcodes/or32-opc.c,v
retrieving revision 1.10
diff -u -p -r1.10 or32-opc.c
--- src/opcodes/or32-opc.c 11 Dec 2009 13:42:17 -0000 1.10
+++ src/opcodes/or32-opc.c 20 Sep 2010 21:19:11 -0000
@@ -898,7 +898,7 @@ or32_extract (char param_ch, char *enc_i
{
unsigned long tmp = strtol (enc, NULL, 16);
#if DEBUG
- printf (" enc=%s, tmp=%x ", enc, tmp);
+ printf (" enc=%s, tmp=%lx ", enc, tmp);
#endif
if (param_ch == '0')
tmp = 15 - tmp;
@@ -918,7 +918,7 @@ or32_extract (char param_ch, char *enc_i
opc_pos--;
param_pos--;
#if DEBUG
- printf ("\n ret=%x opc_pos=%x, param_pos=%x\n", ret, opc_pos, param_pos);
+ printf ("\n ret=%lx opc_pos=%x, param_pos=%x\n", ret, opc_pos, param_pos);
#endif
if (ISLOWER (param_ch))
ret -= ((insn >> opc_pos) & 0x1) << param_pos;
@@ -940,7 +940,7 @@ or32_extract (char param_ch, char *enc_i
enc++;
#if DEBUG
- printf ("ret=%x\n", ret);
+ printf ("ret=%lx\n", ret);
#endif
return ret;
}