You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/sys-apps/modutils/files/modutils-2.4.27-gcc.patch

281 lines
6.8 KiB

Fix building with newer gcc versions.
Most changes taken from Debian.
--- obj/obj_ia64.c
+++ obj/obj_ia64.c
@@ -127,6 +127,7 @@
return (*(bundle + 1) >> 23) & 0x1ffffffffff;
default:
+ ;
}
return (-1);
}
--- depmod/depmod.c
+++ depmod/depmod.c
@@ -1133,7 +1133,7 @@
for (ksym = ksyms; so_far < nksyms; ++so_far, ksym++) {
if (strncmp((char *)ksym->name, "GPLONLY_", 8) == 0)
- ((char *)ksym->name) += 8;
+ ksym->name = ((char *)ksym->name) + 8;
assert(n_syms < MAX_MAP_SYM);
symtab[n_syms++] = addsym((char *)ksym->name, mod, SYM_DEFINED, 0);
}
@@ -1265,7 +1265,7 @@
* error. Use the error() routine but do not count
* any errors. Remove in 2.5.
*/
- int save_errors = errors;
+ int save_errors = error_count;
if (!quiet && nberr == 0)
error("*** Unresolved symbols in %s",
ptmod->name);
@@ -1274,7 +1274,7 @@
nberr++;
if (flag_unresolved_error)
ret = 1;
- errors = save_errors;
+ error_count = save_errors;
}
}
verbose("%s\n", ptmod->name + skipchars);
@@ -1675,6 +1675,6 @@
#else
int main(int argc, char **argv)
{
- return depmod_main(argc, argv) || errors;
+ return depmod_main(argc, argv) || error_count;
}
#endif /* defined(COMMON_3264) && defined(ONLY_32) */
--- genksyms/genksyms.c
+++ genksyms/genksyms.c
@@ -45,7 +45,7 @@
int flag_debug, flag_dump_defs, flag_warnings;
int checksum_version = 1, kernel_version = version(2,0,0);
-static int errors;
+static int num_errors;
static int nsyms;
static struct symbol *expansion_trail;
@@ -458,7 +458,7 @@
va_end(args);
putc('\n', stderr);
- errors++;
+ num_errors++;
}
}
@@ -476,7 +476,7 @@
va_end(args);
putc('\n', stderr);
- errors++;
+ num_errors++;
}
}
@@ -597,5 +597,5 @@
nsyms, HASH_BUCKETS, (double)nsyms / (double)HASH_BUCKETS);
}
- return errors != 0;
+ return num_errors != 0;
}
--- include/util.h
+++ include/util.h
@@ -39,8 +39,8 @@
extern int xftw(const char *directory, xftw_func_t);
/* Error logging */
-extern int log;
-extern int errors;
+extern int logging;
+extern int error_count;
extern const char *error_file;
extern int flag_verbose;
--- insmod/insmod.c
+++ insmod/insmod.c
@@ -275,7 +275,7 @@
if (strncmp((char *)s->name, "GPLONLY_", 8) == 0) {
gplonly_seen = 1;
if (gpl)
- ((char *)s->name) += 8;
+ s->name = ((char *)s->name) + 8;
else
continue;
}
@@ -1679,7 +1679,7 @@
error_file = "insmod";
/* To handle repeated calls from combined modprobe */
- errors = optind = 0;
+ error_count = optind = 0;
/* Process the command line. */
while ((o = getopt_long(argc, argv, "fhkLmnpqrsSvVxXyYNe:o:O:P:R:",
@@ -2064,7 +2064,7 @@
goto out;
/**** No symbols or sections to be changed after kallsyms above ***/
- if (errors)
+ if (error_count)
goto out;
/* If we were just checking, we made it. */
@@ -2123,10 +2123,10 @@
test_read.m.read_start = m_addr + sizeof(struct module);
test_read.m.read_end = test_read.m.read_start + sizeof(test_read.data);
if (sys_init_module(m_name, (struct module *) &test_read)) {
- int old_errors = errors;
+ int old_errors = error_count;
error("has persistent data but the kernel is too old to support it."
" Expect errors during rmmod as well");
- errors = old_errors;
+ error_count = old_errors;
}
}
@@ -2152,7 +2152,7 @@
#else
init_module(m_name, f, m_size, blob_name, noload, flag_load_map);
#endif
- if (errors) {
+ if (error_count) {
if (!noload)
delete_module(m_name);
goto out;
--- insmod/kallsyms.c
+++ insmod/kallsyms.c
@@ -80,7 +80,7 @@
error_file = "kallsyms";
/* To handle repeated calls from combined modprobe */
- errors = optind = 0;
+ error_count = optind = 0;
/* Process the command line. */
while ((c = getopt_long(argc, argv, "Vh",
--- insmod/modprobe.c
+++ insmod/modprobe.c
@@ -1023,7 +1023,7 @@
if (quiet)
my_argv[my_argc++] = "-q";
- if (log)
+ if (logging)
my_argv[my_argc++] = "-s";
if (insmod_opt) {
--- insmod/rmmod.c
+++ insmod/rmmod.c
@@ -261,9 +261,9 @@
read_parm.m.read_start = mp->sym->value;
read_parm.m.read_end = read_parm.m.read_start + datasize;
if (sys_init_module(module, (struct module *) &read_parm)) {
- int old_errors = errors;
+ int old_errors = error_count;
error("has persistent data but the kernel is too old to support it.");
- errors = old_errors;
+ error_count = old_errors;
return(0);
}
--- util/logger.c
+++ util/logger.c
@@ -31,10 +31,10 @@
/*======================================================================*/
-int log;
+int logging;
static int silent;
-int errors;
+int error_count;
const char *error_file;
const char *program_name;
@@ -75,7 +75,7 @@
if (silent)
;
- else if (log) {
+ else if (logging) {
char buf[2*PATH_MAX];
int n;
@@ -100,7 +100,7 @@
putc('\n', stderr);
}
- errors++;
+ error_count++;
}
void lprintf(const char *fmt,...)
@@ -108,7 +108,7 @@
va_list args;
if (silent);
- else if (log) {
+ else if (logging) {
char buf[2*PATH_MAX];
va_start(args, fmt);
vsnprintf(buf, sizeof(buf), fmt, args);
@@ -132,5 +132,5 @@
#ifdef STOREMSG
atexit(dumpmsg);
#endif
- log = 1;
+ logging = 1;
}
--- obj/obj_kallsyms.c
+++ obj/obj_kallsyms.c
@@ -200,8 +200,8 @@
/* Initial contents, header + one entry per input section. No strings. */
osec->header.sh_size = sizeof(*a_hdr) + loaded*sizeof(*a_sec);
- a_hdr = (struct kallsyms_header *) osec->contents =
- xmalloc(osec->header.sh_size);
+ osec->contents = xmalloc(osec->header.sh_size);
+ a_hdr = (struct kallsyms_header *) osec->contents;
memset(osec->contents, 0, osec->header.sh_size);
a_hdr->size = sizeof(*a_hdr);
a_hdr->sections = loaded;
@@ -275,8 +275,8 @@
a_hdr->symbol_off +
a_hdr->symbols*a_hdr->symbol_size +
strings_size - strings_left;
- a_hdr = (struct kallsyms_header *) osec->contents =
- xrealloc(a_hdr, a_hdr->total_size);
+ osec->contents = xrealloc(a_hdr, a_hdr->total_size);
+ a_hdr = (struct kallsyms_header *) osec->contents;
p = (char *)a_hdr + a_hdr->symbol_off;
memcpy(p, symbols, a_hdr->symbols*a_hdr->symbol_size);
free(symbols);
--- obj/obj_ppc.c
+++ obj/obj_ppc.c
@@ -25,6 +25,7 @@
#include <obj.h>
#include <util.h>
#include <assert.h>
+#include <stdlib.h>
/*======================================================================*/
@@ -255,7 +256,8 @@
archdata_sec->header.sh_size = 0;
sec = obj_find_section(f, "__ftr_fixup");
if (sec) {
- ad = (struct archdata *) (archdata_sec->contents) = xmalloc(sizeof(*ad));
+ archdata_sec->contents = xmalloc(sizeof(*ad));
+ ad = (struct archdata *) (archdata_sec->contents);
memset(ad, 0, sizeof(*ad));
archdata_sec->header.sh_size = sizeof(*ad);
ad->__start___ftr_fixup = sec->header.sh_addr;