postgresql: fix pgac_cv_snprintf_long_long_int_modifier
PATCH 1/1 postgresql: fix pgac_cv_snprintf_long_long_int_modifier
Supplementary change the pgac_cv_snprintf_long_long_int_modifier from complete format '%lld' to modifier 'll' version only (forgotten in commit 02c43157ab09f6fe4078fd1145fc9d403d66c089 ([1])).
Fixes Bug 9451 ([2]).
[1] https://git.buildroot.net/buildroot/commit/?id=02c43157ab09f6fe4078fd1145fc9d403d66c089
[2] https://bugs.busybox.net/show_bug.cgi?id=9451
--- package/postgresql/postgresql.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/postgresql/postgresql.mk +1 -1
@@ -13,7 +13,7 @@ POSTGRESQL_INSTALL_STAGING = YES POSTGRESQL_CONFIG_SCRIPTS = pg_config POSTGRESQL_CONF_ENV = \ ac_cv_type_struct_sockaddr_in6=yes \ - pgac_cv_snprintf_long_long_int_modifier="%lld" \ + pgac_cv_snprintf_long_long_int_modifier="ll" \ pgac_cv_snprintf_size_t_support=yes POSTGRESQL_CONF_OPTS = --disable-rpath
Signature · 1 line
2.8.1
PATCH 1/1 postgresql: fix pgac_cv_snprintf_long_long_int_modifier
Hi Peter,
Quoted 3 lines · Peter Seiderer
Supplementary change the
pgac_cv_snprintf_long_long_int_modifierfrom complete format '%lld' to modifier 'll' version only (forgotten in commit02c43157ab09f6fe4078fd1145fc9d403d66c089([1])).
The original commit that introduced pgac_cv_snprintf_long_long_int_format caching (3d3f70b5677, postgresql: avoid AC_TRY_RUN when testing snprintf()) did so because of AC_TRY_RUN calls. These were removed in upstream commit a2edb023d [1]. It is most likely safe to remove these cached values now.
Quoted 7 lines
Fixes Bug 9451 ([2]).
[1] https://git.buildroot.net/buildroot/commit/?id=02c43157ab09f6fe4078fd1145fc9d403d66c089
[2] https://bugs.busybox.net/show_bug.cgi?id=9451Reported-by Daniel <[email protected]>Signed-off-by Peter Seiderer <[email protected]>
baruch
Quoted 16 lines
--- package/postgresql/postgresql.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)package/postgresql/postgresql.mk +1
-1@@ -13,7 +13,7 @@ POSTGRESQL_INSTALL_STAGING = YES POSTGRESQL_CONFIG_SCRIPTS = pg_config POSTGRESQL_CONF_ENV = \ ac_cv_type_struct_sockaddr_in6=yes \ - pgac_cv_snprintf_long_long_int_modifier="%lld" \ + pgac_cv_snprintf_long_long_int_modifier="ll" \ pgac_cv_snprintf_size_t_support=yes POSTGRESQL_CONF_OPTS = --disable-rpath
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -PATCH 1/1 postgresql: fix pgac_cv_snprintf_long_long_int_modifier
Hello,
Quoted 7 lines · Baruch Siach
Hi Peter,
Quoted 3 lines · Peter Seiderer
Supplementary change the
pgac_cv_snprintf_long_long_int_modifierfrom complete format '%lld' to modifier 'll' version only (forgotten in commit02c43157ab09f6fe4078fd1145fc9d403d66c089([1])).
Quoted 6 lines
The original commit that introduced
pgac_cv_snprintf_long_long_int_formatcaching (3d3f70b5677, postgresql: avoidAC_TRY_RUNwhen testingsnprintf()) did so because ofAC_TRY_RUNcalls. These were removed in upstream commita2edb023d[1]. It is most likely safe to remove these cached values now.
I don't see anything in this commit that removes the AC_TRY_RUN() checks. It replaces the AC_TRY_RUN() checks by AC_RUN_IFELSE(), which is doing exactly the same: a runtime test. What makes you think this commit solves the problem?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH 1/1 postgresql: fix pgac_cv_snprintf_long_long_int_modifier
Hello *,
Quoted 15 lines · Thomas Petazzoni
Hello,
Quoted 12 lines · Baruch Siach
Hi Peter,
Quoted 3 lines · Peter Seiderer
Supplementary change the
pgac_cv_snprintf_long_long_int_modifierfrom complete format '%lld' to modifier 'll' version only (forgotten in commit02c43157ab09f6fe4078fd1145fc9d403d66c089([1])).The original commit that introduced
pgac_cv_snprintf_long_long_int_formatcaching (3d3f70b5677, postgresql: avoidAC_TRY_RUNwhen testingsnprintf()) did so because ofAC_TRY_RUNcalls. These were removed in upstream commita2edb023d[1]. It is most likely safe to remove these cached values now.
Quoted 7 lines
Quoted 1 line
I don't see anything in this commit that removes the
AC_TRY_RUN()checks. It replaces theAC_TRY_RUN()checks byAC_RUN_IFELSE(), which is doing exactly the same: a runtime test. What makes you think this commit solves the problem?
And the experimental test (the second one without 'pgac_cv_snprintf_long_long_int_modifier="ll"'):
$ diff -u build/postgresql-9.6.1_orig/config.log build/postgresql-9.6.1/config.log
[...]
configure:13741: checking snprintf length modifier for long long int
-configure:13792: result: ll
-configure:13822: checking whether snprintf supports the %z modifier
-configure:13865: result: yes
+configure:13790: result: cannot test (not on host machine)
configure:13891: checking size of void *
configure:13896: /home/seiderer/Work/zeiss/freescale-imx6/build_rpi3_002/build-002/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-gcc -c -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE conftest.c >&5 configure:13896: $? = 0
configure:13896: /home/seiderer/Work/zeiss/freescale-imx6/build_rpi3_002/build-002/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-gcc -c -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE conftest.c >&5 conftest.c: In function 'main':
-conftest.c:182:12: error: size of array 'test_array' is negative
+conftest.c:183:12: error: size of array 'test_array' is negative
static int test_array [1 - 2 * !(((long int) (sizeof (void *))) <= 0)];
^
configure:13896: $? = 1
@@ -8802,6 +8968,7 @@
| #define PG_INT64_TYPE long long int
| #define HAVE_LL_CONSTANTS 1
| #define INT64_MODIFIER "ll"
+| #define USE_REPL_SNPRINTF 1
| /* end confdefs.h. */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H@@ -8848,7 +9015,7 @@
| }
[...]
Without pre-given pgac_cv_snprintf_long_long_int_modifier the define 'USE_REPL_SNPRINTF' is used...
Regards,
Peter
Quoted 3 lines
Thanks,
Thomas
Thomas Petazzoni
AppliedPATCH 1/1 postgresql: fix pgac_cv_snprintf_long_long_int_modifier
In reply to Peter SeidererHello,
Quoted 6 lines · Peter Seiderer
Supplementary change the
pgac_cv_snprintf_long_long_int_modifierfrom complete format '%lld' to modifier 'll' version only (forgotten in commit02c43157ab09f6fe4078fd1145fc9d403d66c089([1])).Fixes Bug 9451 ([2]).
Quoted 8 lines
[1] https://git.buildroot.net/buildroot/commit/?id=02c43157ab09f6fe4078fd1145fc9d403d66c089
[2] https://bugs.busybox.net/show_bug.cgi?id=9451Reported-by Daniel <[email protected]>Signed-off-by Peter Seiderer <[email protected]>--- package/postgresql/postgresql.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com