This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [commit] Support 64-bit constants/enums on 32-bit host [Re: [PATCH] Allow 64-bit enum values]
- From: Tom Tromey <tromey at redhat dot com>
- To: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- Cc: Siddhesh Poyarekar <siddhesh at redhat dot com>, gdb-patches at sourceware dot org
- Date: Tue, 17 Apr 2012 09:17:03 -0600
- Subject: Re: [commit] Support 64-bit constants/enums on 32-bit host [Re: [PATCH] Allow 64-bit enum values]
- References: <20120220132724.GB4753@spoyarek.pnq.redhat.com> <87d397syts.fsf@fleche.redhat.com> <20120229135148.GA32128@spoyarek.pnq.redhat.com> <20120301224428.GA30631@host2.jankratochvil.net> <20120305063542.GA30196@spoyarek.pnq.redhat.com> <20120305080512.GA12311@host2.jankratochvil.net> <20120321100630.GA14496@spoyarek.pnq.redhat.com> <20120417130833.GB15356@host2.jankratochvil.net> <878vhuwhrd.fsf@fleche.redhat.com> <20120417145208.GA26552@host2.jankratochvil.net>
>>>>> "Jan" == Jan Kratochvil <jan.kratochvil@redhat.com> writes:
Jan> I did not think such optimization is worth the work. But I am
Jan> aware you and Google did various work on the memory footprint
Jan> reduction. From my point of view 32-bit GDB without
Jan> --enable-64-bit-bfd either does not exist (anywhere in Fedora) or
Jan> it is some very special build.
Yeah.
Jan> The problem is LOC_CONST_BYTES needs special handling and current
Jan> accessor of SYMBOL_VALUE and its other union-accessors like
Jan> SYMBOL_VALUE_BYTES cannot be easily protected in any way without
Jan> either ({ forbidden GCC extensions }) or ->C++_accessor() so I am
Jan> reluctant to break existing code blindly expecting LOC_CONST
Jan> without checking it and using SYMBOL_VALUE.
If that code exists it has to be a crash waiting to happen.
Jan> Also I think if 40 vs. 44 minimal_symbol size is of any concern we
Jan> should do some real fixes such as lazy objfiles reading or lazy
Jan> minimal_symbol expansion. partial_symbol memory cost seems to be
Jan> fixed by .gdb_index already, isn't it?
I guess so, but it isn't universally used (and really isn't that good
for all uses). And as you've pointed out, idb does fine without needing
this.
Jan> Full symbol tables get expanded in some cases but that should also
Jan> be fixed in a real way (such as some <tab>-complation expands them
Jan> while it could not have to) instead of saving 4 out of 44 bytes.
The completion thing is an interesting idea.
It does seem pointless to expand symtabs in this case.
I wonder if there is a rationale.
Tom