Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper().

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Álvaro Herrera <alvherre(at)kurilemu(dot)de>, Jeff Davis <jdavis(at)postgresql(dot)org>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper().
Date: 2025-11-30 02:20:35
Message-ID: CA+hUKGKZQj4CGi_CYaEzc+bJnVzo2sWgqj59Eg5sQH00WbuqsQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Sun, Nov 30, 2025 at 3:53 AM Andres Freund <andres(at)anarazel(dot)de> wrote:
> On 2025-11-28 15:40:19 -0500, Tom Lane wrote:
> > =?utf-8?Q?=C3=81lvaro?= Herrera <alvherre(at)kurilemu(dot)de> writes:
> > > On 2025-Nov-26, Jeff Davis wrote:
> > >> Inline pg_ascii_tolower() and pg_ascii_toupper().
> >
> > > I think this broke the CI on (some flavors of?) Windows. In
> > > https://cirrus-ci.com/task/6080935063453696
> > > I got
> >
> > > [19:09:39.518] C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: src/backend/postgres_lib.a.p/commands_event_trigger.c.obj: in function `filter_list_to_array':
> > > [19:09:39.518] c:\cirrus\build/../src/backend/commands/event_trigger.c:377:(.text+0x2a5): undefined reference to `pg_ascii_toupper'
> >
> > That's bizarre. I checked recent cfbot rebuilds of some of my patches
> > and there's no problem, also just looking at port.h it's impossible
> > to see how this could happen. Some weird compiled-code caching
> > misbehavior in CI, perhaps?
>
> Yea, I suspect something with ccache is going wrong. We have before noticed
> problems with ccache on mingw, where it somehow used .o files from the wrong
> major versions, despite obviously the input files obviously not supposed to be
> matching. I don't know what could cause that...

To have compiled event_trigger.c without a warning about an undeclared
function and then generated an unresolvable symbol reference, I
suppose it must either have (1) failed to track the dependency on the
precompiled header (so ccache spat out a cached .o from before commit
ec4997a9 that it shouldn't have), or (2) failed to re-precompile the
header (so ccache spat out a cached .pch from before commit ec4997a9
that it shouldn't have and then this or some earlier build compiled a
broken .o)? Hmm...

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Dian Fay 2025-11-30 03:16:44 Re: pg_plan_advice
Previous Message Thomas Munro 2025-11-30 00:13:16 Re: [PATCH] O_CLOEXEC not honored on Windows - handle inheritance chain

Browse pgsql-committers by date

  From Date Subject
Previous Message David Rowley 2025-11-29 23:55:53 pgsql: Don't call simplify_aggref with a NULL PlannerInfo