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
next prev parent 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).