Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Jan Kratochvil <jan.kratochvil@redhat.com>
To: Tom Tromey <tromey@redhat.com>
Cc: Siddhesh Poyarekar <siddhesh@redhat.com>, gdb-patches@sourceware.org
Subject: Re: [commit] Support 64-bit constants/enums on 32-bit host  [Re: [PATCH] Allow 64-bit enum values]
Date: Tue, 17 Apr 2012 14:55:00 -0000	[thread overview]
Message-ID: <20120417145208.GA26552@host2.jankratochvil.net> (raw)
In-Reply-To: <878vhuwhrd.fsf@fleche.redhat.com>

On Tue, 17 Apr 2012 16:32:54 +0200, Tom Tromey wrote:
> But the comment that you removed seems to indicate another possible
> approach -- just use LOC_CONST_BYTES for these enum values.
> 
> Would that not work for some reason?
> 
> I am thinking that presumably people who build a 32-bit gdb without
> --enable-64-bit-bfd are interested in the smallest memory footprint.
> Also presumably they are not likely to be debugging many 64 bit
> processes or perhaps even using enums with values requiring 64 bits;
> certainly those would be relatively rare cases.  So, if LOC_CONST_BYTES
> works, it would be an overall memory savings.
> 
> What do you think of this?

I did not think such optimization is worth the work.  But I am aware you and
Google did various work on the memory footprint reduction.  From my point of
view 32-bit GDB without --enable-64-bit-bfd either does not exist (anywhere in
Fedora) or it is some very special build.

The problem is LOC_CONST_BYTES needs special handling and current accessor of
SYMBOL_VALUE and its other union-accessors like SYMBOL_VALUE_BYTES cannot be
easily protected in any way without either ({ forbidden GCC extensions })
or ->C++_accessor() so I am reluctant to break existing code blindly expecting
LOC_CONST without checking it and using SYMBOL_VALUE.

Also I think if 40 vs. 44 minimal_symbol size is of any concern we should do
some real fixes such as lazy objfiles reading or lazy minimal_symbol
expansion.  partial_symbol memory cost seems to be fixed by .gdb_index
already, isn't it?  Full symbol tables get expanded in some cases but that
should also be fixed in a real way (such as some <tab>-complation expands them
while it could not have to) instead of saving 4 out of 44 bytes.


Thanks,
Jan


  reply	other threads:[~2012-04-17 14:52 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-20 14:53 [PATCH] Expand bitpos to LONGEST to allow access to large offsets within a struct Siddhesh Poyarekar
2012-02-21 20:46 ` Tom Tromey
2012-02-22  7:44   ` Siddhesh Poyarekar
2012-02-29 13:55   ` Siddhesh Poyarekar
2012-02-29 13:59     ` Siddhesh Poyarekar
2012-03-01 22:45     ` Jan Kratochvil
2012-03-05  6:34       ` Siddhesh Poyarekar
2012-03-05  8:05         ` Jan Kratochvil
2012-03-21 10:06           ` [PATCH] Allow 64-bit enum values Siddhesh Poyarekar
2012-03-27 17:00             ` Jan Kratochvil
2012-03-28  4:19               ` Siddhesh Poyarekar
2012-03-30 16:15                 ` Jan Kratochvil
2012-04-17 14:01                   ` Jan Kratochvil
2012-04-18  2:53                     ` Siddhesh Poyarekar
2012-04-18  6:58                       ` [commit] " Jan Kratochvil
2012-04-18  7:06                         ` [ChangeLog commit] " Jan Kratochvil
2012-04-19 16:58                         ` [commit] " Ulrich Weigand
2012-04-20  4:23                           ` Siddhesh Poyarekar
2012-04-20  7:50                             ` [obv] Fix python-2.4 compilation compat. [Re: [commit] [PATCH] Allow 64-bit enum values] Jan Kratochvil
2012-04-20 19:00                               ` Tom Tromey
2012-03-28 16:55             ` [PATCH] Allow 64-bit enum values Tom Tromey
2012-03-29 10:56               ` Siddhesh Poyarekar
2012-04-17 13:11             ` [commit] Support 64-bit constants/enums on 32-bit host [Re: [PATCH] Allow 64-bit enum values] Jan Kratochvil
2012-04-17 13:16               ` [patch!] " Jan Kratochvil
2012-04-17 14:33               ` [patch] " Jan Kratochvil
2012-04-17 15:59                 ` Tom Tromey
2012-04-17 15:42                   ` Jan Kratochvil
2012-04-17 15:52                     ` Tom Tromey
2012-04-17 14:33               ` [commit] " Tom Tromey
2012-04-17 14:55                 ` Jan Kratochvil [this message]
2012-04-17 15:18                   ` Tom Tromey
2012-04-17 15:32                     ` Jan Kratochvil
2012-04-17 19:32                 ` Jan Kratochvil
2012-04-17 20:51                   ` Tom Tromey
2012-04-18  7:01                     ` [real commit] " Jan Kratochvil
2012-02-21 21:39 ` [PATCH] Expand bitpos to LONGEST to allow access to large offsets within a struct Jan Kratochvil
2012-05-04 13:10   ` [PATCH v2] Expand bitpos and type.length to LONGEST and ULONGEST Siddhesh Poyarekar
2012-05-15  9:46     ` ping: " Siddhesh Poyarekar
2012-05-15  9:49       ` Jan Kratochvil
2012-05-15 10:02         ` Siddhesh Poyarekar
2012-05-15 20:07     ` Jan Kratochvil
2012-05-16  3:50       ` Siddhesh Poyarekar
2012-05-16  7:19         ` Jan Kratochvil
2012-05-16  7:41           ` Siddhesh Poyarekar
2012-05-20 15:43             ` Doug Evans
2012-05-20 20:24               ` Jan Kratochvil
2012-05-20 20:28                 ` Doug Evans
2012-05-23 13:52       ` Siddhesh Poyarekar
2012-05-23 17:46         ` Jan Kratochvil
2012-05-24  1:36           ` Siddhesh Poyarekar
2012-05-24 15:01             ` Jan Kratochvil
2012-05-31 18:15               ` [PATCH v3] " Siddhesh Poyarekar
2012-06-05 22:27                 ` Jan Kratochvil
2012-06-06 18:23                   ` Siddhesh Poyarekar
2012-06-06 21:34                     ` Jan Kratochvil
2012-06-08 14:16                       ` Jan Kratochvil
2012-06-08 15:27                         ` Jan Kratochvil
2012-06-11 12:53                           ` Siddhesh Poyarekar
2012-06-11 13:00                             ` Jan Kratochvil
2012-06-11 18:33                               ` Siddhesh Poyarekar
2012-06-12  9:56                                 ` Jan Kratochvil
2012-06-12 14:35                                   ` Jan Kratochvil
2012-06-18 10:31                                     ` [1/2][PATCH " Siddhesh Poyarekar
2012-06-20 15:47                                       ` Jan Kratochvil
2012-06-20 16:32                                         ` Siddhesh Poyarekar
2012-06-20 17:25                                           ` Jan Kratochvil
2012-06-23  1:59                                         ` Siddhesh Poyarekar
2012-06-18 10:31                                     ` [2/2][PATCH " Siddhesh Poyarekar
2012-05-31  6:39           ` [PATCH v2] " Siddhesh Poyarekar
2012-05-31  9:24             ` Siddhesh Poyarekar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120417145208.GA26552@host2.jankratochvil.net \
    --to=jan.kratochvil@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=siddhesh@redhat.com \
    --cc=tromey@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox