Re: JIT compiling with LLVM v12.2

From: ilmari(at)ilmari(dot)org (Dagfinn Ilmari =?utf-8?Q?Manns=C3=A5ker?=)
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, Stephen Frost <sfrost(at)snowman(dot)net>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: JIT compiling with LLVM v12.2
Date: 2018-03-21 20:41:45
Message-ID: d8jin9pnoty.fsf@dalvik.ping.uio.no
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andres Freund <andres(at)anarazel(dot)de> writes:

> Hi,
>
> On 2018-03-21 20:06:49 +1300, Thomas Munro wrote:
>> On Wed, Mar 21, 2018 at 4:07 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
>> > Indeed. I've pushed a rebased version now, that basically just fixes the
>> > issue Thomas observed.
>>
>> I set up a 32 bit i386 virtual machine and installed Debian 9.4.
>> Compiler warnings:
>
> Was that with a 64bit CPU and 32bit OS, or actually a 32bit CPU?
>
>
>> gcc -Wall -Wmissing-prototypes -Wpointer-arith
>> -Wdeclaration-after-statement -Wendif-labels
>> -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
>> -fwrapv -fexcess-precision=standard -g -O2 -fPIC
>> -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_CONSTANT_MACROS
>> -D_GNU_SOURCE -I/usr/lib/llvm-3.9/include -I../../../../src/include
>> -D_GNU_SOURCE -c -o llvmjit.o llvmjit.c
>> llvmjit.c: In function ‘llvm_get_function’:
>> llvmjit.c:268:10: warning: cast to pointer from integer of different
>> size [-Wint-to-pointer-cast]
>> return (void *) addr;
>> ^
>> llvmjit.c:270:10: warning: cast to pointer from integer of different
>> size [-Wint-to-pointer-cast]
>> return (void *) addr;
>> ^
>> llvmjit.c: In function ‘llvm_resolve_symbol’:
>> llvmjit.c:842:10: warning: cast from pointer to integer of different
>> size [-Wpointer-to-int-cast]
>> addr = (uint64_t) load_external_function(modname, funcname,
>> ^
>> llvmjit.c:845:10: warning: cast from pointer to integer of different
>> size [-Wpointer-to-int-cast]
>> addr = (uint64_t) LLVMSearchForAddressOfSymbol(symname);
>> ^
>
> Hrmpf, those need to be fixed.

How about using uintptr_t is for this? I see configure.in includes
AC_TYPE_UINTPTR_T, which probes for an existing uintptr_t or defines it
as an alias for the appropriate unsinged (long (long)) int type.

- ilmari
--
- Twitter seems more influential [than blogs] in the 'gets reported in
the mainstream press' sense at least. - Matt McLeod
- That'd be because the content of a tweet is easier to condense down
to a mainstream media article. - Calle Dybedahl

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2018-03-21 20:51:01 Re: JIT compiling with LLVM v12.2
Previous Message Jeremy Finzel 2018-03-21 20:38:41 Re: found xmin from before relfrozenxid on pg_catalog.pg_authid