From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Silencing upcoming warning about stack_base_ptr |
Date: | 2022-02-17 23:44:27 |
Message-ID: | 3773792.1645141467@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
GCC 12, coming soon to a distro near you, complains like this:
postgres.c: In function 'set_stack_base':
postgres.c:3430:24: warning: storing the address of local variable 'stack_base' in 'stack_base_ptr' [-Wdangling-pointer=]
3430 | stack_base_ptr = &stack_base;
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
postgres.c:3419:25: note: 'stack_base' declared here
3419 | char stack_base;
| ^~~~~~~~~~
postgres.c:136:13: note: 'stack_base_ptr' declared here
136 | char *stack_base_ptr = NULL;
| ^~~~~~~~~~~~~~
(that's visible now on buildfarm member caiman). We probably
should take some thought for silencing this before it starts
to be in people's faces during routine development.
Fixing this is a bit harder than one could wish because we export
set_stack_base() for use by PL/Java, so it would be better to not
change that API. I ended up with the attached patch, which works
to silence the warning so long as the new subroutine
set_stack_base_from() is marked pg_noinline. I'm a little worried
that in a year or two GCC will be smart enough to complain anyway.
If that happens, we could probably silence the warning again by
moving set_stack_base() to a different source file --- but at some
point we might have to give up and change its API, I suppose.
I also took this opportunity to re-static-ify the stack_base_ptr
variable itself, as PL/Java seems to have adopted set_stack_base
since 1.5.0. That part perhaps should not be back-patched.
regards, tom lane
Attachment | Content-Type | Size |
---|---|---|
fix-stack-base-warning.patch | text/x-diff | 4.6 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2022-02-18 00:12:55 | Re: Silencing upcoming warning about stack_base_ptr |
Previous Message | Andres Freund | 2022-02-17 23:39:52 | Re: [Proposal] Fully WAL logged CREATE DATABASE - No Checkpoints |