From: | Samuel Marks <samuelmarks(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: [PATCH] Guard `CLOBBER_FREED_MEMORY` & `MEMORY_CONTEXT_CHECKING` |
Date: | 2024-08-23 22:15:21 |
Message-ID: | CAMfPbcaFrcjd_ipypHCbZa7WuLzymJD7Pf5D3P9NroGQ24bW_w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hmm… so you're worried about people setting the definition to 0 for
disabled and nonzero || present for enabled? - I suppose all the
`#define`s in PostgreSQL could be guarded and checked for both
presence and either empty value or value. But maybe you just don't
want to touch this side of the codebase?
https://gcc.gnu.org/onlinedocs/cpp/If.html
https://learn.microsoft.com/en-us/cpp/preprocessor/hash-if-hash-elif-hash-else-and-hash-endif-directives-c-cpp?view=msvc-170
(assuming similar on clang and other compilers; I'm sure this
behaviour predated C89)
It would be odd for people to depend on behaviour like not defining
CLOBBER_FREED_MEMORY at the CPPFLAGS level. Anyway, I assume it's your
call, so should I withdraw this PATCH then? - Or make a more
comprehensive PATCH checking for definition and (emptiness or
nonzero)?
PS: I did send through a PR to that
build-PostgreSQL-extensions-with-Rust project
https://github.com/pgcentralfoundation/pgrx/pull/1826
Samuel Marks, PhD
https://linkedin.com/in/samuelmarks
On Fri, Aug 23, 2024 at 4:39 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
> Samuel Marks <samuelmarks(at)gmail(dot)com> writes:
> > It will resolve the large number of these warnings from
> > https://github.com/pgcentralfoundation/pgrx/blob/6dfb9d1/cargo-pgrx/src/command/init.rs#L411-L412:
>
> Hmm, that seems like their problem not ours. It's not very clear
> to me why they'd want to force these flags from the compiler
> command line in the first place, but if they do they should be
> consistent with the more usual ways to set them.
>
> > and yes will be sending them a patch also. But there's no harm in not
> > redefining symbols, so not sure why this is a controversial patch.
>
> The reason I'm resistant to changing it is that the code you want
> to touch has been unchanged since 2003 in the first case, and 2013
> in the second. It's fairly unclear what external code might have
> grown dependencies on the current behavior, but with that much
> history I'm not eager to bet that the answer is "none". Also,
> the present setup makes it clear that you are supposed to test
> "#ifdef CLOBBER_FREED_MEMORY" not "#if CLOBBER_FREED_MEMORY".
> If we stop locking down the expected contents of the macro, bugs
> of that sort could sneak in.
>
> regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2024-08-23 22:25:41 | Re: Test 041_checkpoint_at_promote.pl faild in installcheck due to missing injection_points |
Previous Message | Joel Jacobson | 2024-08-23 22:00:30 | Re: Optimising numeric division |