summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2024-12-13 18:31:27 +0100
committerChristian Soffke <christian.soffke@gmail.com>2024-12-20 05:29:18 +0100
commit727c800c0ddf813e194328a2d79a58f68c9d262a (patch)
treeff991dd65bc016f21d200830e2ec2bccca8e6b35
parenta86b1999d06738cee659a9b6efcdbfe7fd41d6c1 (diff)
downloadrockbox-727c800c0d.tar.gz
rockbox-727c800c0d.zip
Don't force gcc as host compiler + fix clang warnings
On MacOS, gcc is a symlink for clang. Patch gets rid of the warnings produced by clang, when it is set as HOSTCC, and fixes voicetools compilation on MacOS when calling make voicetools from the simulator directory. lua rb_defines_helper: format specifies type 'int' but the argument has type 'long' codecs: opus / speex (LOGF): format '%ld' expects argument of type 'long int', but argument 7 has type 'off_t' gigabeat: variable 'size' set but not used rdf2binary: a function declaration without a prototype is deprecated in all versions of C rbspeexdec: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not hmac-sha1.c defining a type within 'offsetof' is a Clang extension Change-Id: I90539906698868f9589650585d865aee9f7e8539
-rwxr-xr-xapps/plugins/lua/rbdefines_helper.pl4
-rw-r--r--lib/rbcodec/codecs/opus.c4
-rw-r--r--lib/rbcodec/codecs/speex.c18
-rwxr-xr-xtools/configure9
-rw-r--r--tools/gigabeat.c5
-rw-r--r--tools/hmac-sha1.c2
-rw-r--r--tools/rbspeex/rbspeexdec.c14
-rw-r--r--tools/rdf2binary.c2
8 files changed, 25 insertions, 33 deletions
diff --git a/apps/plugins/lua/rbdefines_helper.pl b/apps/plugins/lua/rbdefines_helper.pl
index 095ec55515..ecda99becc 100755
--- a/apps/plugins/lua/rbdefines_helper.pl
+++ b/apps/plugins/lua/rbdefines_helper.pl
@@ -161,7 +161,7 @@ foreach my $define (@sorted_defines)
}
elsif(@$define{'value'} =~ /^[0-9]+$/) #number
{
- printf "\tprintf(\"%s[\\\"%%s\\\"] = %%d\\n\", stringify(%s), %s);\n", $lua_table, @$define{'name'}, @$define{'name'};
+ printf "\tprintf(\"%s[\\\"%%s\\\"] = %%ld\\n\", stringify(%s), (long) %s);\n", $lua_table, @$define{'name'}, @$define{'name'};
}
else #might be a string but we don't know since the macro isn't expanded far enough
{
@@ -199,7 +199,7 @@ foreach my $define (@sorted_defines)
}
elsif ($var =~$num_regex) #it must be a number
{
- printf "\tprintf(\"%s[\\\"%%s\\\"] = %%d\\n\", stringify(%s), %s);\n", $lua_table, @$define{'name'}, @$define{'name'};
+ printf "\tprintf(\"%s[\\\"%%s\\\"] = %%ld\\n\", stringify(%s), (long) %s);\n", $lua_table, @$define{'name'}, @$define{'name'};
}
else { warn "Skipping ".@$define{'name'}." indeterminate macro type\n"; }
}
diff --git a/lib/rbcodec/codecs/opus.c b/lib/rbcodec/codecs/opus.c
index d30a9cf714..15cb2c8aa4 100644
--- a/lib/rbcodec/codecs/opus.c
+++ b/lib/rbcodec/codecs/opus.c
@@ -70,7 +70,7 @@ static int seek_ogg_page(uint64_t filepos)
break;
if (memcmp(buf, synccode, sizeof(buf)) == 0) {
ci->seek_buffer(ci->curpos - sizeof(buf));
- LOGF("next page %ld", ci->curpos);
+ LOGF("next page %jd", (intmax_t) ci->curpos);
return 1;
} else
ci->seek_buffer(ci->curpos - (sizeof(buf) - 1));
@@ -91,7 +91,7 @@ static int seek_opus_tags(void)
break;
if (memcmp(buf, synccode, sizeof(buf)) == 0) {
ci->seek_buffer(ci->curpos - sizeof(buf));
- LOGF("OpusTags %ld", ci->curpos);
+ LOGF("OpusTags %jd", (intmax_t) ci->curpos);
return 1;
} else
ci->seek_buffer(ci->curpos - (sizeof(buf) - 1));
diff --git a/lib/rbcodec/codecs/speex.c b/lib/rbcodec/codecs/speex.c
index 3de1e79f51..43c39ffc4d 100644
--- a/lib/rbcodec/codecs/speex.c
+++ b/lib/rbcodec/codecs/speex.c
@@ -167,7 +167,7 @@ static spx_int64_t seek_backwards(spx_ogg_sync_state *oy, spx_ogg_page *og,
offset = ret;
continue;
}
- } else if (ret == -3)
+ } else if (ret == -3)
return(-3);
else if (ret<=0)
break;
@@ -187,8 +187,8 @@ static int speex_seek_page_granule(spx_int64_t pos, spx_int64_t curpos,
spx_ogg_sync_state *oy,
spx_int64_t headerssize)
{
- /* TODO: Someone may want to try to implement seek to packet,
- instead of just to page (should be more accurate, not be any
+ /* TODO: Someone may want to try to implement seek to packet,
+ instead of just to page (should be more accurate, not be any
faster) */
spx_int64_t crofs;
@@ -222,9 +222,9 @@ static int speex_seek_page_granule(spx_int64_t pos, spx_int64_t curpos,
offset = get_next_page(oy,&og,-1);
if (offset < 0) { /* could not find new page,use old offset */
- LOGF("Seek/guess/fault:%lld->-<-%d,%lld:%lld,%d,%ld,%d\n",
+ LOGF("Seek/guess/fault:%lld->-<-%d,%lld:%lld,%d,%jd,%d\n",
(long long int)curpos,0, (long long int)pos,
- (long long int)offset,0,ci->curpos,/*stream_length*/0);
+ (long long int)offset,0, (intmax_t) ci->curpos,/*stream_length*/0);
curoffset = *curbyteoffset;
@@ -233,9 +233,9 @@ static int speex_seek_page_granule(spx_int64_t pos, spx_int64_t curpos,
spx_ogg_sync_reset(oy);
} else {
if (spx_ogg_page_granulepos(&og) == 0 && pos > 5000) {
- LOGF("SEEK/guess/fault:%lld->-<-%lld,%lld:%lld,%d,%ld,%d\n",
+ LOGF("SEEK/guess/fault:%lld->-<-%lld,%lld:%lld,%d,%jd,%d\n",
(long long int)curpos,(long long int)spx_ogg_page_granulepos(&og),
- (long long int)pos, (long long int)offset,0,ci->curpos,/*stream_length*/0);
+ (long long int)pos, (long long int)offset,0, (intmax_t) ci->curpos,/*stream_length*/0);
curoffset = *curbyteoffset;
@@ -271,7 +271,7 @@ static int speex_seek_page_granule(spx_int64_t pos, spx_int64_t curpos,
lastgranule = spx_ogg_page_granulepos(&og);
- if ( ((lastgranule - (avgpagelen/4)) < pos && ( lastgranule +
+ if ( ((lastgranule - (avgpagelen/4)) < pos && ( lastgranule +
avgpagelen + (avgpagelen / 4)) > pos) ||
lastgranule > pos) {
@@ -339,7 +339,7 @@ static void *process_header(spx_ogg_packet *op,
DEBUGF("Too old bitstream");
return NULL;
}
-
+
st = speex_decoder_init(mode);
if (!st){
DEBUGF("Decoder init failed");
diff --git a/tools/configure b/tools/configure
index 8624081359..e15e3c3297 100755
--- a/tools/configure
+++ b/tools/configure
@@ -16,9 +16,6 @@ LDOPTS=""
GLOBAL_LDOPTS=""
LDMAP_OPT="-Map"
-HOSTCC=gcc
-HOSTAR=ar
-
extradefines=""
use_logf="#undef ROCKBOX_HAS_LOGF"
use_bootchart="#undef DO_BOOTCHART"
@@ -398,9 +395,7 @@ simcc () {
if $CC --version | grep -q "clang"; then
echo "[Warning] Clang compiler ($CC) in your path is unsupported. Trying gcc-14."
CC=gcc-14
- HOSTCC=gcc-14
AR=gcc-ar-14
- HOSTAR=gcc-ar-14
CPP=cpp-14
fi
LDOPTS="$LDOPTS -ldl"
@@ -4612,8 +4607,8 @@ else
fi
# figure out the full path to the various commands if possible
-HOSTCC=`findtool ${HOSTCC} --lit`
-HOSTAR=`findtool ${HOSTAR} --lit`
+HOSTCC=`findtool gcc --lit`
+HOSTAR=`findtool ar --lit`
CC=`findtool ${CC} --lit`
CPP=`findtool ${CPP} --lit`
LD=`findtool ${LD} --lit`
diff --git a/tools/gigabeat.c b/tools/gigabeat.c
index 554b8ff052..a3c9b06d04 100644
--- a/tools/gigabeat.c
+++ b/tools/gigabeat.c
@@ -52,7 +52,6 @@ static FILE * openoutfile( const char * filename )
int gigabeat_code(char *infile, char *outfile)
{
FILE *in, *out;
- unsigned long size = 0;
unsigned long bytes_read;
unsigned char buf[4];
unsigned long data;
@@ -66,14 +65,12 @@ int gigabeat_code(char *infile, char *outfile)
/* Read in little-endian */
data = le2int(buf);
-
+
data = data ^ key;
key = key + (key << 1);
key = key + 0x19751217;
- size += bytes_read;
-
/* Write out little-endian */
int2le(data, buf);
diff --git a/tools/hmac-sha1.c b/tools/hmac-sha1.c
index adb5f7e119..134206a683 100644
--- a/tools/hmac-sha1.c
+++ b/tools/hmac-sha1.c
@@ -225,7 +225,7 @@ sha1_process_bytes (const void *buffer, size_t len, struct sha1_ctx *ctx)
if (len >= 64)
{
#if !_STRING_ARCH_unaligned
-# define alignof(type) offsetof (struct { char c; type x; }, x)
+# define alignof(type) __alignof__(type)
# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
if (UNALIGNED_P (buffer))
while (len > 64)
diff --git a/tools/rbspeex/rbspeexdec.c b/tools/rbspeex/rbspeexdec.c
index 3cf65f0331..714077372f 100644
--- a/tools/rbspeex/rbspeexdec.c
+++ b/tools/rbspeex/rbspeexdec.c
@@ -17,13 +17,13 @@
* KIND, either express or implied.
*
***************************************************************************/
-
+
#include <speex/speex.h>
#include <stdio.h>
#include <stdlib.h>
#include "string.h"
#include "rbspeex.h"
-
+
#define USAGE_TEXT \
"Usage: rbspeexdec infile outfile\n"\
"rbspeexdec outputs mono 16 bit 16 kHz WAV files.\n"\
@@ -50,13 +50,13 @@ int main(int argc, char **argv)
/* Rockbox speex streams are always assumed to be WB */
st = speex_decoder_init(&speex_wb_mode);
-
+
/* Set the perceptual enhancement on (is default, but doesn't hurt) */
tmp = 1;
speex_decoder_ctl(st, SPEEX_SET_ENH, &tmp);
speex_decoder_ctl(st, SPEEX_GET_LOOKAHEAD, &lookahead);
speex_decoder_ctl(st, SPEEX_GET_FRAME_SIZE, &frame_size);
-
+
if ((fin = fopen(argv[1], "rb")) == NULL) {
printf("Error: could not open input file\n");
return 1;
@@ -74,8 +74,8 @@ int main(int argc, char **argv)
fclose(fin);
/* fill in wav header */
- strcpy(wavhdr, "RIFF");
- strcpy(wavhdr + 8, "WAVEfmt ");
+ strcpy((char *) wavhdr, "RIFF");
+ strcpy((char *) wavhdr + 8, "WAVEfmt ");
put_uint_le(16, wavhdr + 16);
put_ushort_le(1, wavhdr + 20); /* PCM data */
put_ushort_le(1, wavhdr + 22); /* mono */
@@ -83,7 +83,7 @@ int main(int argc, char **argv)
put_uint_le(16000*2, wavhdr + 28); /* chan*sr*bbs/8 */
put_ushort_le(2, wavhdr + 32); /* chan*bps/8 */
put_ushort_le(16, wavhdr + 34); /* bits per sample */
- strcpy(wavhdr + 36, "data");
+ strcpy((char *) wavhdr + 36, "data");
fwrite(wavhdr, 1, 44, fout); /* write header */
/* make bit buffer use our own buffer */
speex_bits_set_bit_buffer(&bits, indata, insize);
diff --git a/tools/rdf2binary.c b/tools/rdf2binary.c
index df9cbd32d7..36c4f464bd 100644
--- a/tools/rdf2binary.c
+++ b/tools/rdf2binary.c
@@ -58,7 +58,7 @@ long reverse (long N) {
}
-int main()
+int main(void)
{
FILE *in, *idx_out, *desc_out;
struct word w;