Skip to content

Commit

Permalink
Merge pull request #8871 from heitbaum/gcc14
Browse files Browse the repository at this point in the history
gcc: update to 14.1
  • Loading branch information
CvH authored May 21, 2024
2 parents 97bf23c + 9e19751 commit 738b75b
Show file tree
Hide file tree
Showing 28 changed files with 1,191 additions and 19 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
From 812680199b0e474c83cdc8bd331178afcaaad862 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Sat, 4 May 2024 12:07:33 +0000
Subject: [PATCH] fix build with gcc-14

add missing header
---
src/arg_int.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/src/arg_int.c b/src/arg_int.c
index 29c20e5..bc5ab06 100644
--- a/src/arg_int.c
+++ b/src/arg_int.c
@@ -27,6 +27,7 @@ USA.
/* #ifdef HAVE_STDLIB_H */
#include <stdlib.h>
/* #endif */
+#include <ctype.h>

#include "argtable2.h"
#include <limits.h>
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
From 40f5e11bf9977f5daf48c15a899d17814557fc5b Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Tue, 7 May 2024 17:34:47 +1000
Subject: [PATCH 1/3] fix building with gcc-14.1

../countries.c: In function 'choose_country':
../countries.c:121:84: error: assignment to 'int *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
121 | plplist[0] = -1; plplist[1] = 1; plplist[2] = 0; plplist_length = 3;
|
---
countries.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/countries.c b/countries.c
index b61d86d..6295cd5 100644
--- a/countries.c
+++ b/countries.c
@@ -118,7 +118,8 @@ int choose_country (const char * country,

case AT: // AUSTRIA
case IT: // ITALY
- plplist[0] = -1; plplist[1] = 1; plplist[2] = 0; plplist_length = 3;
+ plplist[0] = -1; plplist[1] = 1; plplist[2] = 0;
+ *plplist_length = 3;
case BE: // BELGIUM
case CH: // SWITZERLAND
case CO: // COLOMBIA, DVB-C + DVB-T2

From b3e1a2b588134f3c546ba0e9a15511da38a8fdc6 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Tue, 7 May 2024 17:40:25 +1000
Subject: [PATCH 2/3] fix calloc warnings

warning: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Wcalloc-transposed-args]
---
parse-dvbscan.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/parse-dvbscan.c b/parse-dvbscan.c
index 72f1cb8..11950b9 100644
--- a/parse-dvbscan.c
+++ b/parse-dvbscan.c
@@ -128,7 +128,7 @@ void parse_t2scan_flags(const char * input_buffer, struct t2scan_flags * flags)

int dvbscan_parse_tuningdata(const char * tuningdata, struct t2scan_flags * flags) {
FILE * initdata = NULL;
- char * buf = (char *) calloc(sizeof(char), MAX_LINE_LENGTH);
+ char * buf = (char *) calloc(MAX_LINE_LENGTH, sizeof(char));
enum __dvbscan_args arg;
struct transponder * tn;
int count = 0;
@@ -147,7 +147,7 @@ int dvbscan_parse_tuningdata(const char * tuningdata, struct t2scan_flags * flag
}

while (fgets(buf, MAX_LINE_LENGTH, initdata) != NULL) {
- char * copy = (char *) calloc(sizeof(char), strlen(buf) + 1);
+ char * copy = (char *) calloc(strlen(buf) + 1, sizeof(char));
char * token;

if (copy == NULL) {

From d5071e9fdb3f14194f72ead51d1353b6c05caa80 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Wed, 8 May 2024 08:19:11 +1000
Subject: [PATCH 3/3] fix building with gcc-14.1

fixes:

../scan.c: In function 'network_scan':
../scan.c:2413:29: error: assignment to 'int *' from incompatible pointer type 'int (*)[256]' [-Wincompatible-pointer-types]
2413 | my_plplist = &plplist;
| ^
../scan.c:2417:29: error: assignment to 'int *' from incompatible pointer type 'int (*)[256]' [-Wincompatible-pointer-types]
2417 | my_plplist = &user_plplist;
| ^
../scan.c:2420:29: error: assignment to 'int *' from incompatible pointer type 'int (*)[256]' [-Wincompatible-pointer-types]
2420 | my_plplist = &plplist;
| ^
---
scan.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/scan.c b/scan.c
index 17fdb3c..5341a1a 100644
--- a/scan.c
+++ b/scan.c
@@ -2410,14 +2410,14 @@ static void network_scan(int frontend_fd, int tuning_data) {
// plp loop
if (delsys == SYS_DVBT2 && (!multistream)) {
// multistream is not supported, so use plp id -1 ("autodetection") as only value to scan
- my_plplist = &plplist;
+ my_plplist = plplist;
my_plplist[0] = -1;
my_plplist_length = 1;
} else if (delsys == SYS_DVBT2 && use_user_plplist) {
- my_plplist = &user_plplist;
+ my_plplist = user_plplist;
my_plplist_length = user_plplist_length;
} else if (delsys == SYS_DVBT2) {
- my_plplist = &plplist;
+ my_plplist = plplist;
my_plplist_length = plplist_length;
} else {
// for legacy DVB-T (or ATSC) there is nothing such as PLPs
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
From 667f3fc30ab8e4cabedb03cf13ba5729858b2211 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Sat, 4 May 2024 11:10:47 +0000
Subject: [PATCH] fix build with gcc-14

---
tools/dsmcc-receive/carousel.c | 1 +
tools/mpe2sec/mpe.c | 2 +-
tools/sec2ts/sec2ts.c | 4 +++-
tools/tsdiscont/tsdiscont.c | 1 +
4 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/tools/dsmcc-receive/carousel.c b/tools/dsmcc-receive/carousel.c
index 40547ef..44da078 100644
--- a/tools/dsmcc-receive/carousel.c
+++ b/tools/dsmcc-receive/carousel.c
@@ -32,6 +32,7 @@
#include "dsmcc.h"
#include "biop.h"
#include "utils.h"
+#include "filter.h"


int
diff --git a/tools/mpe2sec/mpe.c b/tools/mpe2sec/mpe.c
index 18417af..3d30fd7 100644
--- a/tools/mpe2sec/mpe.c
+++ b/tools/mpe2sec/mpe.c
@@ -29,7 +29,7 @@ static char padding[184];
static char ip_device[IFNAMSIZ];
static char s[180];
static const char *Id = "$Id: mpe.c 25 2011-10-13 15:35:18Z jfbcable $";
-const MPE_HEADER_LEN=12;
+const int MPE_HEADER_LEN=12;
int tun_fd = -1;

#ifdef IFF_TUN
diff --git a/tools/sec2ts/sec2ts.c b/tools/sec2ts/sec2ts.c
index b97fff4..7b8c884 100644
--- a/tools/sec2ts/sec2ts.c
+++ b/tools/sec2ts/sec2ts.c
@@ -154,7 +154,9 @@ int main(int argc, char *argv[])
/* Start to process sections */
not_finished = 1;
if(stuff){
- section_next = 1;
+ // this is bad code as it is used as a flag in the below while loop
+ // cast the 1 to pointer to allow compile with gcc-14
+ section_next = (unsigned char *) 1;
} else {
section_next = get_section(&section_size_next, fd_in);
}
diff --git a/tools/tsdiscont/tsdiscont.c b/tools/tsdiscont/tsdiscont.c
index e6f6cd1..19e3398 100644
--- a/tools/tsdiscont/tsdiscont.c
+++ b/tools/tsdiscont/tsdiscont.c
@@ -24,6 +24,7 @@
#include <stdlib.h>
#include <sys/types.h>
#include <inttypes.h>
+#include <arpa/inet.h>

#define TS_HEADER_SIZE 4
#define TS_PACKET_SIZE 188
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
From 70e4aa204cf7809c91b782fa59646dfa11bad53f Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Sat, 4 May 2024 11:33:54 +0000
Subject: [PATCH] fix build with gcc-14

---
camd-newcamd.c | 1 +
filter.c | 1 +
process.c | 1 +
3 files changed, 3 insertions(+)

diff --git a/camd-newcamd.c b/camd-newcamd.c
index 48ad567..0d87735 100644
--- a/camd-newcamd.c
+++ b/camd-newcamd.c
@@ -18,6 +18,7 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <crypt.h>

#include "libfuncs/libfuncs.h"

diff --git a/filter.c b/filter.c
index 2cac2dc..ea440e9 100644
--- a/filter.c
+++ b/filter.c
@@ -14,6 +14,7 @@
*/
#include <ctype.h>
#include <string.h>
+#include <stdlib.h>

#include "data.h"
#include "filter.h"
diff --git a/process.c b/process.c
index ab3be80..d3e7fb3 100644
--- a/process.c
+++ b/process.c
@@ -14,6 +14,7 @@
*/
#include <unistd.h>
#include <string.h>
+#include <stdlib.h>
#include <sys/uio.h>

#include "bitstream.h"
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@ PKG_CONFIGURE_OPTS_TARGET="ac_cv_header_librtmp_rtmp_h=yes \
--without-curses"

pre_configure_target() {
export CFLAGS="${CFLAGS} -I../"
export CFLAGS="${CFLAGS} -I../ -DHAVE_STDLIB_H=1"

#workaround gcc-14 erroring with incompatible pointer type
CFLAGS+=" -Wno-incompatible-pointer-types"
}

pre_build_target() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ diff --git a/hid.c b/hid.c
index 2830b58..a652222 100644
--- a/hid.c
+++ b/hid.c
@@ -22,6 +22,7 @@
@@ -23,6 +23,8 @@
#include <unistd.h>
#include <dirent.h>
#include <stdio.h>
+#include <sys/time.h>
+#include <string.h>

#define SYSFS_HIDRAW_CLASS_PATH "/sys/class/hidraw"

Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/pty.c b/pty.c
index 6791fd5..9ef1471 100644
--- a/pty.c
+++ b/pty.c
@@ -30,6 +30,7 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <signal.h>
+#include <pty.h>

#if defined(__OpenBSD__)
#include <utils.h> /* for openpty() */
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
--- a/tests/async_queries.c 2024-05-17 14:42:48.465859634 +0000
+++ b/tests/async_queries.c 2024-05-17 14:42:36.322436756 +0000
@@ -31,7 +31,9 @@
#include <stdio.h>
#include <string.h>

-#include <event.h>
+#include <event2/event_struct.h>
+#include <event2/event_compat.h>
+#include <event2/event.h>

#define SL(s) (s), sizeof(s)
static const char *my_groups[]= { "client", NULL };
5 changes: 5 additions & 0 deletions packages/audio/libcdio/package.mk
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A CD-ROM reading and control library."
PKG_BUILD_FLAGS="+pic"

#workaround gcc-14 erroring with lseek64
if [ "${ARCH}" = "arm" ]; then
TARGET_CFLAGS+=" -Wno-implicit-function-declaration"
fi

# package specific configure options
PKG_CONFIGURE_OPTS_TARGET="--enable-cxx \
--disable-cpp-progs \
Expand Down
Loading

0 comments on commit 738b75b

Please sign in to comment.