[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU lightning 2.2.0 released!
From: |
Basile Starynkevitch |
Subject: |
Re: GNU lightning 2.2.0 released! |
Date: |
Wed, 16 Nov 2022 21:42:21 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 |
On 16/11/2022 16:17, Paulo César Pereira de Andrade wrote:
GNU lightning 2.2.0 released!
GNU lightning is a library to aid in making portable programs
that compile assembly code at run time.
Development:
http://git.savannah.gnu.org/cgit/lightning.git
Download release:
ftp://ftp.gnu.org/gnu/lightning/lightning-2.2.0.tar.gz
GNU Lightning 2.2.0 extends the 2.1.4 release adding support for
Darwin aarch64, tested on Apple M1.
Now there is the new --enable-devel-strong-type-checking configure
option, not enabled by default, but code that works with that option
will work on Apple M1.
This release required significant rework as the Apple abi in aarch64
requires arguments to be truncated and zero/sign extended, unlike all
other ports. Jit generation will understand it, and use the system ABI,
avoiding double truncate and zero/sign extension.
Due to the significant rework, the library major number was bumped,
and the opportunity used to reorder the jit_code_t enumeration.
FWIW, I am considering using GNU lightning in the RefPerSys open source
project on http://refpersys.org/
However, lightning-2.2.0 get warning when configured on Ubuntu 22.10
with AMD Ryzen Threadripper 2970WX as:
./configure CFLAGS='-O2 -g' --enable-disassembler
--enable-devel-disassembler --enable-devel-get-jit-size
rimski.x86_64 src/Libs/lightning-2.2.0 21:41 .0 % make
make all-recursive
make[1]: Entering directory '/usr/src/Libs/lightning-2.2.0'
Making all in gnulib-lib
make[2]: Entering directory '/usr/src/Libs/lightning-2.2.0/gnulib-lib'
make all-recursive
make[3]: Entering directory '/usr/src/Libs/lightning-2.2.0/gnulib-lib'
make[4]: Entering directory '/usr/src/Libs/lightning-2.2.0/gnulib-lib'
CC dummy.lo
CCLD libgnu.la
make[4]: Leaving directory '/usr/src/Libs/lightning-2.2.0/gnulib-lib'
make[3]: Leaving directory '/usr/src/Libs/lightning-2.2.0/gnulib-lib'
make[2]: Leaving directory '/usr/src/Libs/lightning-2.2.0/gnulib-lib'
Making all in check
make[2]: Entering directory '/usr/src/Libs/lightning-2.2.0/check'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/src/Libs/lightning-2.2.0/check'
Making all in doc
make[2]: Entering directory '/usr/src/Libs/lightning-2.2.0/doc'
CC incr.o
cd ../lib; make liblightning.la
make[3]: Entering directory '/usr/src/Libs/lightning-2.2.0/lib'
CC jit_disasm.lo
jit_disasm.c: In function ‘disasm_print_address’:
jit_disasm.c:249:41: warning: format ‘%lx’ expects argument of type
‘long unsigned int’, but argument 3 has type ‘long long int’ [-Wformat=]
249 | # define address_buffer_format "%lx"
| ^~~~~
jit_disasm.c:259:21: note: in expansion of macro ‘address_buffer_format’
259 | sprintf(buffer, address_buffer_format, (long long)addr);
| ^~~~~~~~~~~~~~~~~~~~~
jit_disasm.c:249:44: note: format string is defined here
249 | # define address_buffer_format "%lx"
| ~~^
| |
| long unsigned int
| %llx
jit_disasm.c: In function ‘_disassemble’:
jit_disasm.c:249:41: warning: format ‘%lx’ expects argument of type
‘long unsigned int’, but argument 3 has type ‘long long int’ [-Wformat=]
249 | # define address_buffer_format "%lx"
| ^~~~~
jit_disasm.c:409:33: note: in expansion of macro ‘address_buffer_format’
409 | bytes = sprintf(buffer, address_buffer_format, (long
long)pc);
| ^~~~~~~~~~~~~~~~~~~~~
jit_disasm.c:249:44: note: format string is defined here
249 | # define address_buffer_format "%lx"
| ~~^
| |
| long unsigned int
| %llx
CC jit_memory.lo
CC jit_names.lo
CC jit_note.lo
CC jit_print.lo
CC jit_size.lo
jit_size.c: In function ‘jit_finish_size’:
jit_size.c:160:23: warning: format ‘%d’ expects argument of type ‘int’,
but argument 3 has type ‘jit_word_t’ {aka ‘long int’} [-Wformat=]
160 | fprintf(fp, "%d %d\n", offset, _szs[offset]);
| ~^ ~~~~~~
| | |
| int jit_word_t {aka long int}
| %ld
CC lightning.lo
CCLD liblightning.la
make[3]: Leaving directory '/usr/src/Libs/lightning-2.2.0/lib'
CCLD incr
CC printf.o
CCLD printf
CC rpn.o
CCLD rpn
CC rfib.o
CCLD rfib
CC ifib.o
CCLD ifib
CC fact.o
CCLD fact
make[2]: Leaving directory '/usr/src/Libs/lightning-2.2.0/doc'
Making all in include
make[2]: Entering directory '/usr/src/Libs/lightning-2.2.0/include'
Making all in lightning
make[3]: Entering directory
'/usr/src/Libs/lightning-2.2.0/include/lightning'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/usr/src/Libs/lightning-2.2.0/include/lightning'
make[3]: Entering directory '/usr/src/Libs/lightning-2.2.0/include'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/usr/src/Libs/lightning-2.2.0/include'
make[2]: Leaving directory '/usr/src/Libs/lightning-2.2.0/include'
Making all in lib
make[2]: Entering directory '/usr/src/Libs/lightning-2.2.0/lib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/src/Libs/lightning-2.2.0/lib'
make[2]: Entering directory '/usr/src/Libs/lightning-2.2.0'
CC size.o
CCLD size
make[2]: Leaving directory '/usr/src/Libs/lightning-2.2.0'
make[1]: Leaving directory '/usr/src/Libs/lightning-2.2.0'
These warnings are reproducible after a make clean
Thanks for reading
--
Basile Starynkevitch <basile@starynkevitch.net>
(only mine opinions / les opinions sont miennes uniquement)
92340 Bourg-la-Reine, France
web page: starynkevitch.net/Basile/