From: Simon Marchi <simark@simark.ca>
To: Nix <nix@esperi.org.uk>,
Simon Marchi via Gdb-patches <gdb-patches@sourceware.org>
Cc: "Jose E. Marchesi" <jose.marchesi@oracle.com>,
Tom Tromey <tom@tromey.com>,
indu.bhagat@oracle.com, elena.zannoni@oracle.com,
binutils@sourceware.org
Subject: Re: [PATCH] gdb: use libtool in GDB_AC_CHECK_BFD
Date: Fri, 11 Nov 2022 08:51:21 -0500 [thread overview]
Message-ID: <c6b69423-ceb9-58d4-c7c8-bd26eee3282e@simark.ca> (raw)
In-Reply-To: <87iljlwrze.fsf@esperi.org.uk>
> It's historical (it was there in the Solaris days, IIRC) and alas it has
> users, and it has a use case (see below). We *could* rip it out and fix
> the users, but that does mean breaking the API and bumping soname and
> this seems like a rather petty reason to do so to me. (But then I know
> I'm a stable-API fetishist.)
>
>> Imagine you wanted to
>> switch to another gz compression library without changing your API. It
>> would be nicer if zlib was just an implementation detail here. For
>> instance, you could take a plain fd and use gzdopen internally to open a
>> gzFile around it.
>
> I think the intent here was that people who were already writing stuff
> through a gzFile could pass it into this to write CTF in as well. That
> doesn't work at all well if you pass in the underlying fd and do a
> gzdopen (you end up with zlib thinking there are two gzip streams
> underway simultaneously on the same fd, and a total mess results).
>
> So really you'd need *both* :)
>
>
> But really this whole class of API made more sense back in the past when
> zlib was the only compression library worth speaking of. These days
> you'd probably prefer to hand back the memory buffer and ask the caller
> to do the compression themselves using whatever mechanism they prefer --
> but the fact remains that this thing is in the API and I'd rather not
> break it for such a minor reason if there is a non-totally-horrible
> alternative.
Thanks for the details.
Another idea I thought of, which would still break the API (in that
callers would need to include a new source file) but not the ABI would
be to put that declaration in a separate header, say ctf-gzip-api.h.
Users of ctf-api.h would not have to deal with zlib. Users of
ctf-gzip-api.h would have to deal with zlib, but that's fine because
they are consciously using it.
Simon
next prev parent reply other threads:[~2022-11-11 13:51 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20221107194634.1313150-1-jose.marchesi@oracle.com>
[not found] ` <5e940b15-cd5c-83b2-0bdd-9afa27b5f197@simark.ca>
[not found] ` <87bkpeuae6.fsf@oracle.com>
[not found] ` <875yfmztd6.fsf@tromey.com>
[not found] ` <87sfiqsr7m.fsf@oracle.com>
2022-11-10 17:11 ` Nick Alcock
2022-11-10 17:46 ` Simon Marchi
2022-11-11 13:17 ` Nix
2022-11-11 13:51 ` Simon Marchi [this message]
2022-11-14 13:56 ` Nick Alcock
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=c6b69423-ceb9-58d4-c7c8-bd26eee3282e@simark.ca \
--to=simark@simark.ca \
--cc=binutils@sourceware.org \
--cc=elena.zannoni@oracle.com \
--cc=gdb-patches@sourceware.org \
--cc=indu.bhagat@oracle.com \
--cc=jose.marchesi@oracle.com \
--cc=nix@esperi.org.uk \
--cc=tom@tromey.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).