unixobdc: fix compilation with GCC14 again
authorRosen Penev <rosenp@gmail.com>
Sat, 29 Jun 2024 21:21:42 +0000 (14:21 -0700)
committerRosen Penev <rosenp@gmail.com>
Sat, 29 Jun 2024 22:28:57 +0000 (15:28 -0700)
Use upstream backport.

Remove autoreconf for speed. Nothing is being patched anyway.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
libs/unixodbc/Makefile
libs/unixodbc/patches/010-gcc14.patch

index e2b863d9c30e6c150820cd89f196a1f82fd0326e..e862b190dd2a05b63630a64c31cafb65483328bf 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=unixodbc
 PKG_VERSION:=2.3.12
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=unixODBC-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.unixodbc.org
@@ -23,9 +23,8 @@ PKG_CPE_ID:=cpe:/a:unixodbc:unixodbc
 PKG_BUILD_DIR:=$(BUILD_DIR)/unixODBC-$(PKG_VERSION)
 HOST_BUILD_DIR:=$(BUILD_DIR)/host/unixODBC-$(PKG_VERSION)
 
-PKG_BUILD_PARALLEL:=1
-PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 HOST_BUILD_DEPENDS:=unixodbc
 HOST_BUILD_PARALLEL:=1
index 539015ebaaf00feaf926a9e6991e0eb08eb1be3c..51fe4e8370514cbfe835151d0f3674b8de9b0607 100644 (file)
@@ -1,6 +1,29 @@
+From 45f501e1be2db6b017cc242c79bfb9de32b332a1 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Mon, 29 Jan 2024 08:27:29 +0100
+Subject: [PATCH] PostgreSQL driver: Fix incompatible pointer-to-integer types
+
+These result in out-of-bounds stack writes on 64-bit architectures
+(caller has 4 bytes, callee writes 8 bytes), and seem to have gone
+unnoticed on little-endian architectures (although big-endian
+architectures must be broken).
+
+This change is required to avoid a build failure with GCC 14.
+---
+ Drivers/Postgre7.1/info.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
 --- a/Drivers/Postgre7.1/info.c
 +++ b/Drivers/Postgre7.1/info.c
-@@ -1786,7 +1786,7 @@ HSTMT hcol_stmt;
+@@ -1779,14 +1779,14 @@ char *table_name;
+ char index_name[MAX_INFO_STRING];
+ short fields_vector[8];
+ char isunique[10], isclustered[10];
+-SDWORD index_name_len, fields_vector_len;
++SQLLEN index_name_len, fields_vector_len;
+ TupleNode *row;
+ int i;
+ HSTMT hcol_stmt;
  StatementClass *col_stmt, *indx_stmt;
  char column_name[MAX_INFO_STRING], relhasrules[MAX_INFO_STRING];
  char **column_names = 0;
@@ -9,3 +32,12 @@
  int total_columns = 0;
  char error = TRUE;
  ConnInfo *ci;
+@@ -2136,7 +2136,7 @@ HSTMT htbl_stmt;
+ StatementClass *tbl_stmt;
+ char tables_query[STD_STATEMENT_LEN];
+ char attname[MAX_INFO_STRING];
+-SDWORD attname_len;
++SQLLEN attname_len;
+ char pktab[MAX_TABLE_LEN + 1];
+ Int2 result_cols;