summaryrefslogtreecommitdiff
path: root/package/busybox/busybox-1.12.0-insmod.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox/busybox-1.12.0-insmod.patch')
-rw-r--r--package/busybox/busybox-1.12.0-insmod.patch333
1 files changed, 0 insertions, 333 deletions
diff --git a/package/busybox/busybox-1.12.0-insmod.patch b/package/busybox/busybox-1.12.0-insmod.patch
deleted file mode 100644
index 985e66677..000000000
--- a/package/busybox/busybox-1.12.0-insmod.patch
+++ /dev/null
@@ -1,333 +0,0 @@
---- busybox-1.12.0/modutils/insmod.c Wed Aug 6 00:56:02 2008
-+++ busybox-1.12.0-insmod/modutils/insmod.c Sun Aug 31 23:56:28 2008
-@@ -1059,8 +1059,9 @@
-
- case R_68K_PC8:
- v -= dot;
-- if ((ElfW(Sword))v > 0x7f ||
-- (ElfW(Sword))v < -(ElfW(Sword))0x80) {
-+ if ((ElfW(Sword))v > 0x7f
-+ || (ElfW(Sword))v < -(ElfW(Sword))0x80
-+ ) {
- ret = obj_reloc_overflow;
- }
- *(char *)loc = v;
-@@ -1068,8 +1069,9 @@
-
- case R_68K_PC16:
- v -= dot;
-- if ((ElfW(Sword))v > 0x7fff ||
-- (ElfW(Sword))v < -(ElfW(Sword))0x8000) {
-+ if ((ElfW(Sword))v > 0x7fff
-+ || (ElfW(Sword))v < -(ElfW(Sword))0x8000
-+ ) {
- ret = obj_reloc_overflow;
- }
- *(short *)loc = v;
-@@ -1208,8 +1210,9 @@
- {
- Elf32_Addr word;
-
-- if ((Elf32_Sword)v > 0x7fff ||
-- (Elf32_Sword)v < -(Elf32_Sword)0x8000) {
-+ if ((Elf32_Sword)v > 0x7fff
-+ || (Elf32_Sword)v < -(Elf32_Sword)0x8000
-+ ) {
- ret = obj_reloc_overflow;
- }
-
-@@ -1238,8 +1241,9 @@
- Elf32_Addr word;
-
- v -= dot + 4;
-- if ((Elf32_Sword)v > 0x7fff ||
-- (Elf32_Sword)v < -(Elf32_Sword)0x8000) {
-+ if ((Elf32_Sword)v > 0x7fff
-+ || (Elf32_Sword)v < -(Elf32_Sword)0x8000
-+ ) {
- ret = obj_reloc_overflow;
- }
-
-@@ -1253,9 +1257,10 @@
- Elf32_Addr word, gp;
- /* get _gp */
- gp = obj_symbol_final_value(f, obj_find_symbol(f, SPFX "_gp"));
-- v-=gp;
-- if ((Elf32_Sword)v > 0x7fff ||
-- (Elf32_Sword)v < -(Elf32_Sword)0x8000) {
-+ v -= gp;
-+ if ((Elf32_Sword)v > 0x7fff
-+ || (Elf32_Sword)v < -(Elf32_Sword)0x8000
-+ ) {
- ret = obj_reloc_overflow;
- }
-
-@@ -2132,7 +2137,6 @@
- for (sym = f->symtab[hash]; sym; sym = sym->next)
- if (f->symbol_cmp(sym->name, name) == 0)
- return sym;
--
- return NULL;
- }
-
-@@ -2141,12 +2145,10 @@
- if (sym) {
- if (sym->secidx >= SHN_LORESERVE)
- return sym->value;
--
- return sym->value + f->sections[sym->secidx]->header.sh_addr;
-- } else {
-- /* As a special case, a NULL sym has value zero. */
-- return 0;
- }
-+ /* As a special case, a NULL sym has value zero. */
-+ return 0;
- }
-
- static struct obj_section *obj_find_section(struct obj_file *f, const char *name)
-@@ -2156,7 +2158,6 @@
- for (i = 0; i < n; ++i)
- if (strcmp(f->sections[i]->name, name) == 0)
- return f->sections[i];
--
- return NULL;
- }
-
-@@ -2167,9 +2168,11 @@
- af = a->header.sh_flags;
-
- ac = 0;
-- if (a->name[0] != '.' || strlen(a->name) != 10 ||
-- strcmp(a->name + 5, ".init"))
-+ if (a->name[0] != '.' || strlen(a->name) != 10
-+ || strcmp(a->name + 5, ".init") != 0
-+ ) {
- ac |= 32;
-+ }
- if (af & SHF_ALLOC)
- ac |= 16;
- if (!(af & SHF_WRITE))
-@@ -2212,7 +2215,7 @@
- sec->name = name;
- sec->idx = newidx;
- if (size)
-- sec->contents = xmalloc(size);
-+ sec->contents = xzalloc(size);
-
- obj_insert_section_load_order(f, sec);
-
-@@ -2227,7 +2230,7 @@
- int newidx = f->header.e_shnum++;
- struct obj_section *sec;
-
-- f->sections = xrealloc(f->sections, (newidx + 1) * sizeof(sec));
-+ f->sections = xrealloc_vector(f->sections, 2, newidx);
- f->sections[newidx] = sec = arch_new_section();
-
- sec->header.sh_type = SHT_PROGBITS;
-@@ -2237,7 +2240,7 @@
- sec->name = name;
- sec->idx = newidx;
- if (size)
-- sec->contents = xmalloc(size);
-+ sec->contents = xzalloc(size);
-
- sec->load_next = f->load_order;
- f->load_order = sec;
-@@ -2689,8 +2692,7 @@
- /* Collect the modules' symbols. */
-
- if (nmod) {
-- ext_modules = modules = xmalloc(nmod * sizeof(*modules));
-- memset(modules, 0, nmod * sizeof(*modules));
-+ ext_modules = modules = xzalloc(nmod * sizeof(*modules));
- for (i = 0, mn = module_names, m = modules;
- i < nmod; ++i, ++m, mn += strlen(mn) + 1) {
- struct new_module_info info;
-@@ -2770,13 +2772,14 @@
- }
-
-
--static void new_create_this_module(struct obj_file *f, const char *m_name)
-+static void new_create_this_module(struct obj_file *f, const char *m_name)
- {
- struct obj_section *sec;
-
- sec = obj_create_alloced_section_first(f, ".this", tgt_sizeof_long,
- sizeof(struct new_module));
-- memset(sec->contents, 0, sizeof(struct new_module));
-+ /* done by obj_create_alloced_section_first: */
-+ /*memset(sec->contents, 0, sizeof(struct new_module));*/
-
- obj_add_symbol(f, SPFX "__this_module", -1,
- ELF_ST_INFO(STB_LOCAL, STT_OBJECT), sec->idx, 0,
-@@ -2856,18 +2859,19 @@
- /* We don't want to export symbols residing in sections that
- aren't loaded. There are a number of these created so that
- we make sure certain module options don't appear twice. */
--
-- loaded = alloca(sizeof(int) * (i = f->header.e_shnum));
-+ i = f->header.e_shnum;
-+ loaded = alloca(sizeof(int) * i);
- while (--i >= 0)
- loaded[i] = (f->sections[i]->header.sh_flags & SHF_ALLOC) != 0;
-
- for (nsyms = i = 0; i < HASH_BUCKETS; ++i) {
- struct obj_symbol *sym;
-- for (sym = f->symtab[i]; sym; sym = sym->next)
-+ for (sym = f->symtab[i]; sym; sym = sym->next) {
- if (ELF_ST_BIND(sym->info) != STB_LOCAL
- && sym->secidx <= SHN_HIRESERVE
- && (sym->secidx >= SHN_LORESERVE
-- || loaded[sym->secidx])) {
-+ || loaded[sym->secidx])
-+ ) {
- ElfW(Addr) ofs = nsyms * 2 * tgt_sizeof_void_p;
-
- obj_symbol_patch(f, sec->idx, ofs, sym);
-@@ -2876,6 +2880,7 @@
-
- nsyms++;
- }
-+ }
- }
-
- obj_extend_section(sec, nsyms * 2 * tgt_sizeof_char_p);
-@@ -2934,9 +2939,11 @@
- }
- sec = obj_find_section(f, ".data.init");
- if (sec) {
-- if (!module->runsize ||
-- module->runsize > sec->header.sh_addr - m_addr)
-+ if (!module->runsize
-+ || module->runsize > sec->header.sh_addr - m_addr
-+ ) {
- module->runsize = sec->header.sh_addr - m_addr;
-+ }
- }
- sec = obj_find_section(f, ARCHDATA_SEC_NAME);
- if (sec && sec->header.sh_size) {
-@@ -3083,9 +3090,9 @@
- if (i == f->header.e_shnum) {
- struct obj_section *sec;
-
-+ f->header.e_shnum++;
- f->sections = xrealloc_vector(f->sections, 2, i);
- f->sections[i] = sec = arch_new_section();
-- f->header.e_shnum = i + 1;
-
- sec->header.sh_type = SHT_PROGBITS;
- sec->header.sh_flags = SHF_WRITE | SHF_ALLOC;
-@@ -3124,12 +3131,9 @@
- for (i = 0; i < f->header.e_shnum; ++i) {
- struct obj_section *s = f->sections[i];
- if (s->header.sh_type == SHT_NOBITS) {
-+ s->contents = NULL;
- if (s->header.sh_size != 0)
-- s->contents = memset(xmalloc(s->header.sh_size),
-- 0, s->header.sh_size);
-- else
-- s->contents = NULL;
--
-+ s->contents = xzalloc(s->header.sh_size),
- s->header.sh_type = SHT_PROGBITS;
- }
- }
-@@ -3222,8 +3226,8 @@
- #if SHT_RELM == SHT_RELA
- #if defined(__alpha__) && defined(AXP_BROKEN_GAS)
- /* Work around a nasty GAS bug, that is fixed as of 2.7.0.9. */
-- if (!extsym || !extsym->st_name ||
-- ELF_ST_BIND(extsym->st_info) != STB_LOCAL)
-+ if (!extsym || !extsym->st_name
-+ || ELF_ST_BIND(extsym->st_info) != STB_LOCAL)
- #endif
- value += rel->r_addend;
- #endif
-@@ -3329,16 +3333,17 @@
- }
-
- if (f->header.e_ident[EI_MAG0] != ELFMAG0
-- || f->header.e_ident[EI_MAG1] != ELFMAG1
-- || f->header.e_ident[EI_MAG2] != ELFMAG2
-- || f->header.e_ident[EI_MAG3] != ELFMAG3) {
-+ || f->header.e_ident[EI_MAG1] != ELFMAG1
-+ || f->header.e_ident[EI_MAG2] != ELFMAG2
-+ || f->header.e_ident[EI_MAG3] != ELFMAG3
-+ ) {
- bb_error_msg_and_die("not an ELF file");
- }
- if (f->header.e_ident[EI_CLASS] != ELFCLASSM
-- || f->header.e_ident[EI_DATA] != (BB_BIG_ENDIAN
-- ? ELFDATA2MSB : ELFDATA2LSB)
-- || f->header.e_ident[EI_VERSION] != EV_CURRENT
-- || !MATCH_MACHINE(f->header.e_machine)) {
-+ || f->header.e_ident[EI_DATA] != (BB_BIG_ENDIAN ? ELFDATA2MSB : ELFDATA2LSB)
-+ || f->header.e_ident[EI_VERSION] != EV_CURRENT
-+ || !MATCH_MACHINE(f->header.e_machine)
-+ ) {
- bb_error_msg_and_die("ELF file not for this architecture");
- }
- if (f->header.e_type != ET_REL) {
-@@ -3354,8 +3359,10 @@
- }
-
- shnum = f->header.e_shnum;
-- f->sections = xmalloc(sizeof(struct obj_section *) * shnum);
-- memset(f->sections, 0, sizeof(struct obj_section *) * shnum);
-+ /* Growth of ->sections vector will be done by
-+ * xrealloc_vector(..., 2, ...), therefore we must allocate
-+ * at least 2^2 = 4 extra elements here. */
-+ f->sections = xzalloc(sizeof(f->sections[0]) * (shnum + 4));
-
- section_headers = alloca(sizeof(ElfW(Shdr)) * shnum);
- fseek(fp, f->header.e_shoff, SEEK_SET);
-@@ -3391,14 +3398,13 @@
- case SHT_SYMTAB:
- case SHT_STRTAB:
- case SHT_RELM:
-+ sec->contents = NULL;
- if (sec->header.sh_size > 0) {
-- sec->contents = xmalloc(sec->header.sh_size);
-+ sec->contents = xzalloc(sec->header.sh_size);
- fseek(fp, sec->header.sh_offset, SEEK_SET);
- if (fread(sec->contents, sec->header.sh_size, 1, fp) != 1) {
- bb_perror_msg_and_die("error reading ELF section data");
- }
-- } else {
-- sec->contents = NULL;
- }
- break;
-
-@@ -3860,16 +3866,20 @@
- for (nsyms = i = 0; i < HASH_BUCKETS; ++i)
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->secidx <= SHN_HIRESERVE
-- && (sym->secidx >= SHN_LORESERVE || loaded[sym->secidx]))
-+ && (sym->secidx >= SHN_LORESERVE || loaded[sym->secidx])
-+ ) {
- ++nsyms;
-+ }
-
- all = alloca(nsyms * sizeof(struct obj_symbol *));
-
- for (i = 0, p = all; i < HASH_BUCKETS; ++i)
- for (sym = f->symtab[i]; sym; sym = sym->next)
- if (sym->secidx <= SHN_HIRESERVE
-- && (sym->secidx >= SHN_LORESERVE || loaded[sym->secidx]))
-+ && (sym->secidx >= SHN_LORESERVE || loaded[sym->secidx])
-+ ) {
- *p++ = sym;
-+ }
-
- /* And list them. */
- printf("\nSymbols:\n");
-@@ -4265,7 +4275,7 @@
- }
- #else
- len = MAXINT(ssize_t);
-- map = xmalloc_open_read_close(filename, &len);
-+ map = xmalloc_xopen_read_close(filename, &len);
- #endif
-
- if (init_module(map, len, options) != 0)