Article View: gnu.gdb.bug
Article #1077Re: some compile errors fo gdb-7.0.1
From: Harald Koenig
Date: Tue, 23 Feb 2010 15:22
Date: Tue, 23 Feb 2010 15:22
220 lines
9524 bytes
9524 bytes
--J2SCkAp4GZ/dPZZf
Content-Disposition: inline
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Hi Pedro,
On Feb 18, Pedro Alves wrote:
> I encourage you to try building cvs head, or a recent
> snapshot with hp cc so catch other possible tweaks
> necessary, as gdb 7.1 is close to branching out.
thanks for the hint! ok, so here are some more problems at least FYI,
not sure if all of them can and must be fixed ?!
with no specific order:
-------------------------------------------------------------------------------
SGI IRIX:
cc-1028 cc: ERROR File = gdb-CVS-20100222/gdb/varobj.c, Line = 1703
The expression used must have a constant value.
varobj_update_result r = {*varp};
^
using "gcc -pedantic" you'll get at least a warning about this problem:
gdb-CVS-20100222/gdb/varobj.c:1703: warning: initializer element is not computable at load time
gdb-CVS-20100222/gdb/varobj.c:1711: warning: initializer element is not computable at load time
gdb-CVS-20100222/gdb/varobj.c:1741: warning: initializer element is not computable at load time
gdb-CVS-20100222/gdb/varobj.c:1818: warning: initializer element is not computable at load time
gdb-CVS-20100222/gdb/varobj.c:1828: warning: initializer element is not computable at load time
gdb-CVS-20100222/gdb/varobj.c:1855: warning: initializer element is not computable at load time
a possible fix for the 1st error would be varobj.c.diff (attached).
-------------------------------------------------------------------------------
old bison/yacc:
on some older linux I run into this problem:
c-exp.y:2238: error: field 'value' has incomplete type
these are the distros and bison/byacc versions:
suse 9.0 bison 1.75
redhat 9 bison 1.35
centos 5.0 byacc-1.9-29.2.2
the attached patch c-exp.y.diff seems to work both with bison-2.3 and
those older versions...
-------------------------------------------------------------------------------
Solaris
on solaris 5.8 (sparc, Sun C 5.7 2005/01/07) and 5.10 (sparc Sun C 5.8 2005/10/13 and x86 Sun C 5.9 SunOS_i386 Patch 124868-01 2007/07/12) the cc complains about unknown __FUNCTION__ :
"gdb-CVS-20100222/bfd/elfxx-sparc.c", line 2944: undefined symbol: __FUNCTION__
and
"gdb-CVS-20100222/bfd/elf32-i386.c", line 1406: undefined symbol: __FUNCTION__
"gdb-CVS-20100222/bfd/elf32-i386.c", line 3012: undefined symbol: __FUNCTION__
the short hack in bfd.diff is far from being perfect, just an example
how to get it compiling because
(a) it should check for C99 and/or solaris (e.g. if __func__ is really available -- looks like a autoconf thingy;)
(b) this check/define should be handled elsewhere at one central place
as there are more files "affected" :
gdb-CVS-20100222 > grep -rl __FUNCTION__ .
./bfd/elfxx-sparc.c
./bfd/bfd-in2.h
./bfd/nlm32-sparc.c
./bfd/elf64-x86-64.c
./bfd/elf32-i386.c
./bfd/elf32-bfin.c
./bfd/bfd-in.h
./sim/cris/traps.c
./gdb/ChangeLog-2004
./gdb/ChangeLog-2002
./gdb/ChangeLog-2000
as the ChangeLogs tell that's not really a new problem, IMHO I'd go with ./gdb/ChangeLog-2000 ;-))
./gdb/ChangeLog-2000: * uw-thread.c: Remove __FUNCTION__ GNUism.
./gdb/ChangeLog-2002: __FUNCTION__.
./gdb/ChangeLog-2002: * gnu-nat.c (do_mach_notify_no_senders): Replace __FUNCTION__ with
./gdb/ChangeLog-2004: * ia64-tdep.c (ia64_find_proc_info_x): Do not use __FUNCTION__.
-------------------------------------------------------------------------------
AIX 5.3
just FYI: while gdb 7.0.1 crashes when trying to start a program
(typing "gdb a.out" and "r" will SIGSEGV)...
gdb 7.1.50.20100222-cvs seems to work, at least running and simple break points work...
-------------------------------------------------------------------------------
Harald Koenig
--
"I hope to die ___ _____
before I *have* to use Microsoft Word.", 0--,| /OOOOOOO\
Donald E. Knuth, 02-Oct-2001 in Tuebingen. <_/ / /OOOOOOOOOOO\
\ \/OOOOOOOOOOOOOOO\
\ OOOOOOOOOOOOOOOOO|//
Harald Koenig \/\/\/\/\/\/\/\/\/
science+computing ag // / \\ \
koenig@science-computing.de ^^^^^ ^^^^^
--
Vorstand/Board of Management:
Dr. Bernd Finkbeiner, Dr. Roland Niemeier,
Dr. Arno Steitz, Dr. Ingrid Zech
Vorsitzender des Aufsichtsrats/
Chairman of the Supervisory Board:
Michel Lepert
Sitz/Registered Office: Tuebingen
Registergericht/Registration Court: Stuttgart
Registernummer/Commercial Register No.: HRB 382196
--J2SCkAp4GZ/dPZZf
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="varobj.c.diff"
Index: varobj.c
===================================================================
RCS file: /cvs/src/src/gdb/varobj.c,v
retrieving revision 1.154
diff -u -r1.154 varobj.c
--- varobj.c 20 Jan 2010 06:36:38 -0000 1.154
+++ varobj.c 23 Feb 2010 14:15:10 -0000
@@ -1700,7 +1700,8 @@
if (!(*varp)->root->is_valid)
{
- varobj_update_result r = {*varp};
+ varobj_update_result r = {0};
+ r.varobj = *varp;
r.status = VAROBJ_INVALID;
VEC_safe_push (varobj_update_result, result, &r);
return result;
@@ -1708,7 +1709,8 @@
if ((*varp)->root->rootvar == *varp)
{
- varobj_update_result r = {*varp};
+ varobj_update_result r = {0};
+ r.varobj = varp;
r.status = VAROBJ_IN_SCOPE;
/* Update the root variable. value_of_root can return NULL
@@ -1738,7 +1740,8 @@
}
else
{
- varobj_update_result r = {*varp};
+ varobj_update_result r = {0};
+ r.varobj = varp;
VEC_safe_push (varobj_update_result, stack, &r);
}
@@ -1815,7 +1818,8 @@
for (i = VEC_length (varobj_p, changed) - 1; i >= 0; --i)
{
varobj_p tmp = VEC_index (varobj_p, changed, i);
- varobj_update_result r = {tmp};
+ varobj_update_result r = {0};
+ r.varobj = tmp;
r.changed = 1;
r.value_installed = 1;
VEC_safe_push (varobj_update_result, stack, &r);
@@ -1825,7 +1829,8 @@
varobj_p tmp = VEC_index (varobj_p, unchanged, i);
if (!tmp->frozen)
{
- varobj_update_result r = {tmp};
+ varobj_update_result r = {0};
+ r.varobj = tmp;
r.value_installed = 1;
VEC_safe_push (varobj_update_result, stack, &r);
}
@@ -1852,7 +1857,8 @@
/* Child may be NULL if explicitly deleted by -var-delete. */
if (c != NULL && !c->frozen)
{
- varobj_update_result r = {c};
+ varobj_update_result r = {0};
+ r.varobj = c;
VEC_safe_push (varobj_update_result, stack, &r);
}
}
--J2SCkAp4GZ/dPZZf
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="c-exp.y.diff"
Index: c-exp.y
===================================================================
RCS file: /cvs/src/src/gdb/c-exp.y,v
retrieving revision 1.71
diff -u -r1.71 c-exp.y
--- c-exp.y 19 Feb 2010 20:22:03 -0000 1.71
+++ c-exp.y 23 Feb 2010 14:42:29 -0000
@@ -2295,7 +2295,7 @@
typedef struct
{
int token;
- union YYSTYPE value;
+ YYSTYPE value;
} token_and_value;
DEF_VEC_O (token_and_value);
--J2SCkAp4GZ/dPZZf--
Technical Details
Message-ID:
<mailman.1707.1266938569.14305.bug-gdb@gnu.org>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!news.glorb.com!news2.glorb.com!usenet.stanford.edu!news.stanford.edu!not-for-mailReferences:
<20100215141621.GA9469@atuin.science-computing.de> <201002181923.34196.pedro@codesourcery.com>Show Full Headers
Complete Article Headers
X-Google-Thread: f0ead4270c,bc75c21c9a9e46ff,start X-Google-Attributes: gidf0ead4270c,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!news.glorb.com!news2.glorb.com!usenet.stanford.edu!news.stanford.edu!not-for-mail From: Harald Koenig <H.Koenig@science-computing.de> Newsgroups: gnu.gdb.bug Subject: Re: some compile errors fo gdb-7.0.1 Date: Tue, 23 Feb 2010 16:22:33 +0100 Lines: 223 Approved: bug-gdb@gnu.org Message-ID: <mailman.1707.1266938569.14305.bug-gdb@gnu.org> References: <20100215141621.GA9469@atuin.science-computing.de> <201002181923.34196.pedro@codesourcery.com> NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="J2SCkAp4GZ/dPZZf" X-Trace: news.stanford.edu 1266938570 10246 199.232.76.165 (23 Feb 2010 15:22:50 GMT) X-Complaints-To: news@news.stanford.edu Cc: Harald Koenig <H.Koenig@science-computing.de>, gdb-patches@sourceware.org, bug-gdb@gnu.org To: Pedro Alves <pedro@codesourcery.com> Envelope-to: bug-gdb@gnu.org X-Virus-Scanned: amavisd-new Content-Disposition: inline In-Reply-To: <201002181923.34196.pedro@codesourcery.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-detected-operating-system: by eggs.gnu.org: Solaris 8 (1) X-BeenThere: bug-gdb@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GDB, the GNU debugger" <bug-gdb.gnu.org> List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/bug-gdb>, <mailto:bug-gdb-request@gnu.org?subject=unsubscribe> List-Archive: <http://lists.gnu.org/pipermail/bug-gdb> List-Post: <mailto:bug-gdb@gnu.org> List-Help: <mailto:bug-gdb-request@gnu.org?subject=help> List-Subscribe: <http://lists.gnu.org/mailman/listinfo/bug-gdb>, <mailto:bug-gdb-request@gnu.org?subject=subscribe>