public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Mark Harmstone <mark@harmstone.com>
To: Nick Clifton <nickc@redhat.com>, binutils@sourceware.org
Subject: Re: [PATCH] ld: Write globals stream in PDB
Date: Tue, 6 Dec 2022 17:52:10 +0000	[thread overview]
Message-ID: <a4faa84f-4429-e8e2-e364-4e52ea9ddad7@harmstone.com> (raw)
In-Reply-To: <767534e1-60ef-9f21-46ad-ebf9411ab6e9@redhat.com>

Thanks Nick.

On 6/12/22 17:07, Nick Clifton wrote:
 >
 >> +struct global
 >> +{
 >> +  struct global *next;
 >> +  uint32_t offset;
 >> +  uint32_t hash;
 >> +  uint32_t refcount;
 >> +  unsigned int index;
 >> +  uint8_t data[];
 >> +};
 >
 > I dislike variable length arrays, espcially ones that do not have an
 > associated length field for bounds checking.  I understand the need,
 > but I would definitely advise being more paranoid...

There is bounds-checking, it's just not immediately obvious. It ends
with a CodeView record, so the first two bytes of "data" are a little-
endian uint16_t of how many bytes follow.

 >> +/* Compare an entry in the string table with a string.  */
 >> +static int
 >> +eq_string_table_entry (const void *a, const void *b)
 >
 > Is this really an "int" function ?  It looks like it returns a bool
 > to me.

It's a htab_eq, as seen in include/hashtab.h. It's old, it looks like it was
written before _Bool was standardized.

 > I also found that the patch no longer applies to today's sources, so if you
 > could rebase it that would be great.

Sorry, that's because it's part of a larger set of patches, starting with
"[PATCH v2] ld: Generate PDB string table" at
https://sourceware.org/pipermail/binutils/2022-November/thread.html ... I seem
to have confused Jan Beulich with this too.

I think the easiest way is probably if you let me know which (if any) patches
you're happy with, and I'll resubmit the rest as a job lot. I think this patch
series is complete now.

Thanks

Mark

  reply	other threads:[~2022-12-06 17:52 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-25  2:53 [PATCH v2] ld: Generate PDB string table Mark Harmstone
2022-11-25  2:54 ` [PATCH] ld: Write DEBUG_S_FILECHKSMS entries in PDBs Mark Harmstone
2022-11-27  2:38   ` [PATCH] ld: Fix segfault in populate_publics_stream Mark Harmstone
2022-11-27  2:38     ` [PATCH] ld: Write DEBUG_S_LINES entries in PDB file Mark Harmstone
2022-11-29  0:10       ` [PATCH] ld: Write types into TPI stream of PDB Mark Harmstone
2022-11-29  0:10         ` [PATCH] ld: Write types into IPI " Mark Harmstone
2022-11-29  0:10         ` [PATCH] ld: Parse LF_UDT_SRC_LINE records when creating PDB file Mark Harmstone
2022-12-05  1:53           ` [PATCH] ld: Write globals stream in PDB Mark Harmstone
2022-12-05  1:53             ` [PATCH] ld: Copy other symbols into PDB file Mark Harmstone
2022-12-05  1:53             ` [PATCH] ld: Write linker symbols in PDB Mark Harmstone
2022-12-06 17:07             ` [PATCH] ld: Write globals stream " Nick Clifton
2022-12-06 17:52               ` Mark Harmstone [this message]
2022-12-08 11:00                 ` Nick Clifton
2022-12-09  1:11               ` Mark Harmstone
2022-11-28 14:54     ` [PATCH] ld: Fix segfault in populate_publics_stream Jan Beulich
2022-11-28 17:53       ` Mark Harmstone
2022-11-29  9:00         ` Jan Beulich
2022-11-29 17:47           ` Mark Harmstone
2022-11-30  7:00             ` Jan Beulich

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=a4faa84f-4429-e8e2-e364-4e52ea9ddad7@harmstone.com \
    --to=mark@harmstone.com \
    --cc=binutils@sourceware.org \
    --cc=nickc@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).