| From: | Andres Freund <andres(at)anarazel(dot)de> |
|---|---|
| To: | Christoph Berg <myon(at)debian(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
| Subject: | Re: gs_group_1 crashing on 13beta2/s390x |
| Date: | 2020-10-16 00:12:54 |
| Message-ID: | 20201016001254.w2nfj7gd74jmb5in@alap3.anarazel.de |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
On 2020-10-15 15:37:01 -0700, Andres Freund wrote:
> On 2020-10-15 15:29:24 -0700, Andres Freund wrote:
> > Pushed now to 11-master.
>
> Ugh - there's a failure with an old LLVM version (3.9):
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=dragonet&dt=2020-10-15%2022%3A24%3A04
>
> Need to rebuild that locally to reproduce.
It's a bug that was fixed in LLVM 4, but too late to be backported to
3.9.
The easiest seems to be to just use a wrapper function that does the
necessary pre-checks. Something like the below (in llvmjit_wrap.cpp).
Since the wrapper still needs to call into
LLVMGetAttributeCountAtIndexPG, it seems easier to just use the seperate
function name, rather than #define'ing LLVMGetAttributeCountAtIndex() to
the PG version?
/*
* Like LLVM's LLVMGetAttributeCountAtIndex(), works around a bug in LLVM 3.9.
*
* In LLVM <= 3.9, LLVMGetAttributeCountAtIndex() segfaults if there are no
* attributes at an index (fixed in LLVM commit ce9bb1097dc2).
*/
unsigned
LLVMGetAttributeCountAtIndexPG(LLVMValueRef F, uint32 Idx)
{
/*
* This is more expensive, so only do when using a problematic LLVM
* version.
*/
#if LLVM_VERSION_MAJOR < 4
if (!llvm::unwrap<llvm::Function>(F)->getAttributes().hasAttributes(Idx))
return 0;
#endif
/*
* There is no nice public API to determine the count nicely, so just
* always fall back to LLVM's C API.
*/
return LLVMGetAttributeCountAtIndex(F, Idx);
}
Greetings,
Andres Freund
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2020-10-16 00:19:59 | Re: pg_upgrade: fail early if a tablespace dir already exists for new cluster version |
| Previous Message | Michael Paquier | 2020-10-16 00:01:01 | Re: Some remaining htonl() and ntohl() calls in the code |