linux/scripts/mod/modpost.c
<<
>>
Prefs
   1/* Postprocess module symbol versions
   2 *
   3 * Copyright 2003       Kai Germaschewski
   4 * Copyright 2002-2004  Rusty Russell, IBM Corporation
   5 * Copyright 2006-2008  Sam Ravnborg
   6 * Based in part on module-init-tools/depmod.c,file2alias
   7 *
   8 * This software may be used and distributed according to the terms
   9 * of the GNU General Public License, incorporated herein by reference.
  10 *
  11 * Usage: modpost vmlinux module1.o module2.o ...
  12 */
  13
  14#define _GNU_SOURCE
  15#include <stdio.h>
  16#include <ctype.h>
  17#include <string.h>
  18#include "modpost.h"
  19#include "../../include/generated/autoconf.h"
  20#include "../../include/linux/license.h"
  21
  22/* Some toolchains use a `_' prefix for all user symbols. */
  23#ifdef CONFIG_SYMBOL_PREFIX
  24#define MODULE_SYMBOL_PREFIX CONFIG_SYMBOL_PREFIX
  25#else
  26#define MODULE_SYMBOL_PREFIX ""
  27#endif
  28
  29
  30/* Are we using CONFIG_MODVERSIONS? */
  31int modversions = 0;
  32/* Warn about undefined symbols? (do so if we have vmlinux) */
  33int have_vmlinux = 0;
  34/* Is CONFIG_MODULE_SRCVERSION_ALL set? */
  35static int all_versions = 0;
  36/* If we are modposting external module set to 1 */
  37static int external_module = 0;
  38/* Warn about section mismatch in vmlinux if set to 1 */
  39static int vmlinux_section_warnings = 1;
  40/* Only warn about unresolved symbols */
  41static int warn_unresolved = 0;
  42/* How a symbol is exported */
  43static int sec_mismatch_count = 0;
  44static int sec_mismatch_verbose = 1;
  45
  46enum export {
  47        export_plain,      export_unused,     export_gpl,
  48        export_unused_gpl, export_gpl_future, export_unknown
  49};
  50
  51#define PRINTF __attribute__ ((format (printf, 1, 2)))
  52
  53PRINTF void fatal(const char *fmt, ...)
  54{
  55        va_list arglist;
  56
  57        fprintf(stderr, "FATAL: ");
  58
  59        va_start(arglist, fmt);
  60        vfprintf(stderr, fmt, arglist);
  61        va_end(arglist);
  62
  63        exit(1);
  64}
  65
  66PRINTF void warn(const char *fmt, ...)
  67{
  68        va_list arglist;
  69
  70        fprintf(stderr, "WARNING: ");
  71
  72        va_start(arglist, fmt);
  73        vfprintf(stderr, fmt, arglist);
  74        va_end(arglist);
  75}
  76
  77PRINTF void merror(const char *fmt, ...)
  78{
  79        va_list arglist;
  80
  81        fprintf(stderr, "ERROR: ");
  82
  83        va_start(arglist, fmt);
  84        vfprintf(stderr, fmt, arglist);
  85        va_end(arglist);
  86}
  87
  88static int is_vmlinux(const char *modname)
  89{
  90        const char *myname;
  91
  92        myname = strrchr(modname, '/');
  93        if (myname)
  94                myname++;
  95        else
  96                myname = modname;
  97
  98        return (strcmp(myname, "vmlinux") == 0) ||
  99               (strcmp(myname, "vmlinux.o") == 0);
 100}
 101
 102void *do_nofail(void *ptr, const char *expr)
 103{
 104        if (!ptr)
 105                fatal("modpost: Memory allocation failure: %s.\n", expr);
 106
 107        return ptr;
 108}
 109
 110/* A list of all modules we processed */
 111static struct module *modules;
 112
 113static struct module *find_module(char *modname)
 114{
 115        struct module *mod;
 116
 117        for (mod = modules; mod; mod = mod->next)
 118                if (strcmp(mod->name, modname) == 0)
 119                        break;
 120        return mod;
 121}
 122
 123static struct module *new_module(char *modname)
 124{
 125        struct module *mod;
 126        char *p, *s;
 127
 128        mod = NOFAIL(malloc(sizeof(*mod)));
 129        memset(mod, 0, sizeof(*mod));
 130        p = NOFAIL(strdup(modname));
 131
 132        /* strip trailing .o */
 133        s = strrchr(p, '.');
 134        if (s != NULL)
 135                if (strcmp(s, ".o") == 0) {
 136                        *s = '\0';
 137                        mod->is_dot_o = 1;
 138                }
 139
 140        /* add to list */
 141        mod->name = p;
 142        mod->gpl_compatible = -1;
 143        mod->next = modules;
 144        modules = mod;
 145
 146        return mod;
 147}
 148
 149/* A hash of all exported symbols,
 150 * struct symbol is also used for lists of unresolved symbols */
 151
 152#define SYMBOL_HASH_SIZE 1024
 153
 154struct symbol {
 155        struct symbol *next;
 156        struct module *module;
 157        unsigned int crc;
 158        int crc_valid;
 159        unsigned int weak:1;
 160        unsigned int vmlinux:1;    /* 1 if symbol is defined in vmlinux */
 161        unsigned int kernel:1;     /* 1 if symbol is from kernel
 162                                    *  (only for external modules) **/
 163        unsigned int preloaded:1;  /* 1 if symbol from Module.symvers */
 164        enum export  export;       /* Type of export */
 165        char name[0];
 166};
 167
 168static struct symbol *symbolhash[SYMBOL_HASH_SIZE];
 169
 170/* This is based on the hash agorithm from gdbm, via tdb */
 171static inline unsigned int tdb_hash(const char *name)
 172{
 173        unsigned value; /* Used to compute the hash value.  */
 174        unsigned   i;   /* Used to cycle through random values. */
 175
 176        /* Set the initial value from the key size. */
 177        for (value = 0x238F13AF * strlen(name), i = 0; name[i]; i++)
 178                value = (value + (((unsigned char *)name)[i] << (i*5 % 24)));
 179
 180        return (1103515243 * value + 12345);
 181}
 182
 183/**
 184 * Allocate a new symbols for use in the hash of exported symbols or
 185 * the list of unresolved symbols per module
 186 **/
 187static struct symbol *alloc_symbol(const char *name, unsigned int weak,
 188                                   struct symbol *next)
 189{
 190        struct symbol *s = NOFAIL(malloc(sizeof(*s) + strlen(name) + 1));
 191
 192        memset(s, 0, sizeof(*s));
 193        strcpy(s->name, name);
 194        s->weak = weak;
 195        s->next = next;
 196        return s;
 197}
 198
 199/* For the hash of exported symbols */
 200static struct symbol *new_symbol(const char *name, struct module *module,
 201                                 enum export export)
 202{
 203        unsigned int hash;
 204        struct symbol *new;
 205
 206        hash = tdb_hash(name) % SYMBOL_HASH_SIZE;
 207        new = symbolhash[hash] = alloc_symbol(name, 0, symbolhash[hash]);
 208        new->module = module;
 209        new->export = export;
 210        return new;
 211}
 212
 213static struct symbol *find_symbol(const char *name)
 214{
 215        struct symbol *s;
 216
 217        /* For our purposes, .foo matches foo.  PPC64 needs this. */
 218        if (name[0] == '.')
 219                name++;
 220
 221        for (s = symbolhash[tdb_hash(name) % SYMBOL_HASH_SIZE]; s; s = s->next) {
 222                if (strcmp(s->name, name) == 0)
 223                        return s;
 224        }
 225        return NULL;
 226}
 227
 228static struct {
 229        const char *str;
 230        enum export export;
 231} export_list[] = {
 232        { .str = "EXPORT_SYMBOL",            .export = export_plain },
 233        { .str = "EXPORT_UNUSED_SYMBOL",     .export = export_unused },
 234        { .str = "EXPORT_SYMBOL_GPL",        .export = export_gpl },
 235        { .str = "EXPORT_UNUSED_SYMBOL_GPL", .export = export_unused_gpl },
 236        { .str = "EXPORT_SYMBOL_GPL_FUTURE", .export = export_gpl_future },
 237        { .str = "(unknown)",                .export = export_unknown },
 238};
 239
 240
 241static const char *export_str(enum export ex)
 242{
 243        return export_list[ex].str;
 244}
 245
 246static enum export export_no(const char *s)
 247{
 248        int i;
 249
 250        if (!s)
 251                return export_unknown;
 252        for (i = 0; export_list[i].export != export_unknown; i++) {
 253                if (strcmp(export_list[i].str, s) == 0)
 254                        return export_list[i].export;
 255        }
 256        return export_unknown;
 257}
 258
 259static const char *sec_name(struct elf_info *elf, int secindex);
 260
 261#define strstarts(str, prefix) (strncmp(str, prefix, strlen(prefix)) == 0)
 262
 263static enum export export_from_secname(struct elf_info *elf, unsigned int sec)
 264{
 265        const char *secname = sec_name(elf, sec);
 266
 267        if (strstarts(secname, "___ksymtab+"))
 268                return export_plain;
 269        else if (strstarts(secname, "___ksymtab_unused+"))
 270                return export_unused;
 271        else if (strstarts(secname, "___ksymtab_gpl+"))
 272                return export_gpl;
 273        else if (strstarts(secname, "___ksymtab_unused_gpl+"))
 274                return export_unused_gpl;
 275        else if (strstarts(secname, "___ksymtab_gpl_future+"))
 276                return export_gpl_future;
 277        else
 278                return export_unknown;
 279}
 280
 281static enum export export_from_sec(struct elf_info *elf, unsigned int sec)
 282{
 283        if (sec == elf->export_sec)
 284                return export_plain;
 285        else if (sec == elf->export_unused_sec)
 286                return export_unused;
 287        else if (sec == elf->export_gpl_sec)
 288                return export_gpl;
 289        else if (sec == elf->export_unused_gpl_sec)
 290                return export_unused_gpl;
 291        else if (sec == elf->export_gpl_future_sec)
 292                return export_gpl_future;
 293        else
 294                return export_unknown;
 295}
 296
 297/**
 298 * Add an exported symbol - it may have already been added without a
 299 * CRC, in this case just update the CRC
 300 **/
 301static struct symbol *sym_add_exported(const char *name, struct module *mod,
 302                                       enum export export)
 303{
 304        struct symbol *s = find_symbol(name);
 305
 306        if (!s) {
 307                s = new_symbol(name, mod, export);
 308        } else {
 309                if (!s->preloaded) {
 310                        warn("%s: '%s' exported twice. Previous export "
 311                             "was in %s%s\n", mod->name, name,
 312                             s->module->name,
 313                             is_vmlinux(s->module->name) ?"":".ko");
 314                } else {
 315                        /* In case Modules.symvers was out of date */
 316                        s->module = mod;
 317                }
 318        }
 319        s->preloaded = 0;
 320        s->vmlinux   = is_vmlinux(mod->name);
 321        s->kernel    = 0;
 322        s->export    = export;
 323        return s;
 324}
 325
 326static void sym_update_crc(const char *name, struct module *mod,
 327                           unsigned int crc, enum export export)
 328{
 329        struct symbol *s = find_symbol(name);
 330
 331        if (!s)
 332                s = new_symbol(name, mod, export);
 333        s->crc = crc;
 334        s->crc_valid = 1;
 335}
 336
 337void *grab_file(const char *filename, unsigned long *size)
 338{
 339        struct stat st;
 340        void *map = MAP_FAILED;
 341        int fd;
 342
 343        fd = open(filename, O_RDONLY);
 344        if (fd < 0)
 345                return NULL;
 346        if (fstat(fd, &st))
 347                goto failed;
 348
 349        *size = st.st_size;
 350        map = mmap(NULL, *size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
 351
 352failed:
 353        close(fd);
 354        if (map == MAP_FAILED)
 355                return NULL;
 356        return map;
 357}
 358
 359/**
 360  * Return a copy of the next line in a mmap'ed file.
 361  * spaces in the beginning of the line is trimmed away.
 362  * Return a pointer to a static buffer.
 363  **/
 364char *get_next_line(unsigned long *pos, void *file, unsigned long size)
 365{
 366        static char line[4096];
 367        int skip = 1;
 368        size_t len = 0;
 369        signed char *p = (signed char *)file + *pos;
 370        char *s = line;
 371
 372        for (; *pos < size ; (*pos)++) {
 373                if (skip && isspace(*p)) {
 374                        p++;
 375                        continue;
 376                }
 377                skip = 0;
 378                if (*p != '\n' && (*pos < size)) {
 379                        len++;
 380                        *s++ = *p++;
 381                        if (len > 4095)
 382                                break; /* Too long, stop */
 383                } else {
 384                        /* End of string */
 385                        *s = '\0';
 386                        return line;
 387                }
 388        }
 389        /* End of buffer */
 390        return NULL;
 391}
 392
 393void release_file(void *file, unsigned long size)
 394{
 395        munmap(file, size);
 396}
 397
 398static int parse_elf(struct elf_info *info, const char *filename)
 399{
 400        unsigned int i;
 401        Elf_Ehdr *hdr;
 402        Elf_Shdr *sechdrs;
 403        Elf_Sym  *sym;
 404        const char *secstrings;
 405        unsigned int symtab_idx = ~0U, symtab_shndx_idx = ~0U;
 406
 407        hdr = grab_file(filename, &info->size);
 408        if (!hdr) {
 409                perror(filename);
 410                exit(1);
 411        }
 412        info->hdr = hdr;
 413        if (info->size < sizeof(*hdr)) {
 414                /* file too small, assume this is an empty .o file */
 415                return 0;
 416        }
 417        /* Is this a valid ELF file? */
 418        if ((hdr->e_ident[EI_MAG0] != ELFMAG0) ||
 419            (hdr->e_ident[EI_MAG1] != ELFMAG1) ||
 420            (hdr->e_ident[EI_MAG2] != ELFMAG2) ||
 421            (hdr->e_ident[EI_MAG3] != ELFMAG3)) {
 422                /* Not an ELF file - silently ignore it */
 423                return 0;
 424        }
 425        /* Fix endianness in ELF header */
 426        hdr->e_type      = TO_NATIVE(hdr->e_type);
 427        hdr->e_machine   = TO_NATIVE(hdr->e_machine);
 428        hdr->e_version   = TO_NATIVE(hdr->e_version);
 429        hdr->e_entry     = TO_NATIVE(hdr->e_entry);
 430        hdr->e_phoff     = TO_NATIVE(hdr->e_phoff);
 431        hdr->e_shoff     = TO_NATIVE(hdr->e_shoff);
 432        hdr->e_flags     = TO_NATIVE(hdr->e_flags);
 433        hdr->e_ehsize    = TO_NATIVE(hdr->e_ehsize);
 434        hdr->e_phentsize = TO_NATIVE(hdr->e_phentsize);
 435        hdr->e_phnum     = TO_NATIVE(hdr->e_phnum);
 436        hdr->e_shentsize = TO_NATIVE(hdr->e_shentsize);
 437        hdr->e_shnum     = TO_NATIVE(hdr->e_shnum);
 438        hdr->e_shstrndx  = TO_NATIVE(hdr->e_shstrndx);
 439        sechdrs = (void *)hdr + hdr->e_shoff;
 440        info->sechdrs = sechdrs;
 441
 442        /* Check if file offset is correct */
 443        if (hdr->e_shoff > info->size) {
 444                fatal("section header offset=%lu in file '%s' is bigger than "
 445                      "filesize=%lu\n", (unsigned long)hdr->e_shoff,
 446                      filename, info->size);
 447                return 0;
 448        }
 449
 450        if (hdr->e_shnum == SHN_UNDEF) {
 451                /*
 452                 * There are more than 64k sections,
 453                 * read count from .sh_size.
 454                 */
 455                info->num_sections = TO_NATIVE(sechdrs[0].sh_size);
 456        }
 457        else {
 458                info->num_sections = hdr->e_shnum;
 459        }
 460        if (hdr->e_shstrndx == SHN_XINDEX) {
 461                info->secindex_strings = TO_NATIVE(sechdrs[0].sh_link);
 462        }
 463        else {
 464                info->secindex_strings = hdr->e_shstrndx;
 465        }
 466
 467        /* Fix endianness in section headers */
 468        for (i = 0; i < info->num_sections; i++) {
 469                sechdrs[i].sh_name      = TO_NATIVE(sechdrs[i].sh_name);
 470                sechdrs[i].sh_type      = TO_NATIVE(sechdrs[i].sh_type);
 471                sechdrs[i].sh_flags     = TO_NATIVE(sechdrs[i].sh_flags);
 472                sechdrs[i].sh_addr      = TO_NATIVE(sechdrs[i].sh_addr);
 473                sechdrs[i].sh_offset    = TO_NATIVE(sechdrs[i].sh_offset);
 474                sechdrs[i].sh_size      = TO_NATIVE(sechdrs[i].sh_size);
 475                sechdrs[i].sh_link      = TO_NATIVE(sechdrs[i].sh_link);
 476                sechdrs[i].sh_info      = TO_NATIVE(sechdrs[i].sh_info);
 477                sechdrs[i].sh_addralign = TO_NATIVE(sechdrs[i].sh_addralign);
 478                sechdrs[i].sh_entsize   = TO_NATIVE(sechdrs[i].sh_entsize);
 479        }
 480        /* Find symbol table. */
 481        secstrings = (void *)hdr + sechdrs[info->secindex_strings].sh_offset;
 482        for (i = 1; i < info->num_sections; i++) {
 483                const char *secname;
 484                int nobits = sechdrs[i].sh_type == SHT_NOBITS;
 485
 486                if (!nobits && sechdrs[i].sh_offset > info->size) {
 487                        fatal("%s is truncated. sechdrs[i].sh_offset=%lu > "
 488                              "sizeof(*hrd)=%zu\n", filename,
 489                              (unsigned long)sechdrs[i].sh_offset,
 490                              sizeof(*hdr));
 491                        return 0;
 492                }
 493                secname = secstrings + sechdrs[i].sh_name;
 494                if (strcmp(secname, ".modinfo") == 0) {
 495                        if (nobits)
 496                                fatal("%s has NOBITS .modinfo\n", filename);
 497                        info->modinfo = (void *)hdr + sechdrs[i].sh_offset;
 498                        info->modinfo_len = sechdrs[i].sh_size;
 499                } else if (strcmp(secname, "__ksymtab") == 0)
 500                        info->export_sec = i;
 501                else if (strcmp(secname, "__ksymtab_unused") == 0)
 502                        info->export_unused_sec = i;
 503                else if (strcmp(secname, "__ksymtab_gpl") == 0)
 504                        info->export_gpl_sec = i;
 505                else if (strcmp(secname, "__ksymtab_unused_gpl") == 0)
 506                        info->export_unused_gpl_sec = i;
 507                else if (strcmp(secname, "__ksymtab_gpl_future") == 0)
 508                        info->export_gpl_future_sec = i;
 509
 510                if (sechdrs[i].sh_type == SHT_SYMTAB) {
 511                        unsigned int sh_link_idx;
 512                        symtab_idx = i;
 513                        info->symtab_start = (void *)hdr +
 514                            sechdrs[i].sh_offset;
 515                        info->symtab_stop  = (void *)hdr +
 516                            sechdrs[i].sh_offset + sechdrs[i].sh_size;
 517                        sh_link_idx = sechdrs[i].sh_link;
 518                        info->strtab       = (void *)hdr +
 519                            sechdrs[sh_link_idx].sh_offset;
 520                }
 521
 522                /* 32bit section no. table? ("more than 64k sections") */
 523                if (sechdrs[i].sh_type == SHT_SYMTAB_SHNDX) {
 524                        symtab_shndx_idx = i;
 525                        info->symtab_shndx_start = (void *)hdr +
 526                            sechdrs[i].sh_offset;
 527                        info->symtab_shndx_stop  = (void *)hdr +
 528                            sechdrs[i].sh_offset + sechdrs[i].sh_size;
 529                }
 530        }
 531        if (!info->symtab_start)
 532                fatal("%s has no symtab?\n", filename);
 533
 534        /* Fix endianness in symbols */
 535        for (sym = info->symtab_start; sym < info->symtab_stop; sym++) {
 536                sym->st_shndx = TO_NATIVE(sym->st_shndx);
 537                sym->st_name  = TO_NATIVE(sym->st_name);
 538                sym->st_value = TO_NATIVE(sym->st_value);
 539                sym->st_size  = TO_NATIVE(sym->st_size);
 540        }
 541
 542        if (symtab_shndx_idx != ~0U) {
 543                Elf32_Word *p;
 544                if (symtab_idx != sechdrs[symtab_shndx_idx].sh_link)
 545                        fatal("%s: SYMTAB_SHNDX has bad sh_link: %u!=%u\n",
 546                              filename, sechdrs[symtab_shndx_idx].sh_link,
 547                              symtab_idx);
 548                /* Fix endianness */
 549                for (p = info->symtab_shndx_start; p < info->symtab_shndx_stop;
 550                     p++)
 551                        *p = TO_NATIVE(*p);
 552        }
 553
 554        return 1;
 555}
 556
 557static void parse_elf_finish(struct elf_info *info)
 558{
 559        release_file(info->hdr, info->size);
 560}
 561
 562static int ignore_undef_symbol(struct elf_info *info, const char *symname)
 563{
 564        /* ignore __this_module, it will be resolved shortly */
 565        if (strcmp(symname, MODULE_SYMBOL_PREFIX "__this_module") == 0)
 566                return 1;
 567        /* ignore global offset table */
 568        if (strcmp(symname, "_GLOBAL_OFFSET_TABLE_") == 0)
 569                return 1;
 570        if (info->hdr->e_machine == EM_PPC)
 571                /* Special register function linked on all modules during final link of .ko */
 572                if (strncmp(symname, "_restgpr_", sizeof("_restgpr_") - 1) == 0 ||
 573                    strncmp(symname, "_savegpr_", sizeof("_savegpr_") - 1) == 0 ||
 574                    strncmp(symname, "_rest32gpr_", sizeof("_rest32gpr_") - 1) == 0 ||
 575                    strncmp(symname, "_save32gpr_", sizeof("_save32gpr_") - 1) == 0)
 576                        return 1;
 577        if (info->hdr->e_machine == EM_PPC64)
 578                /* Special register function linked on all modules during final link of .ko */
 579                if (strncmp(symname, "_restgpr0_", sizeof("_restgpr0_") - 1) == 0 ||
 580                    strncmp(symname, "_savegpr0_", sizeof("_savegpr0_") - 1) == 0)
 581                        return 1;
 582        /* Do not ignore this symbol */
 583        return 0;
 584}
 585
 586#define CRC_PFX     MODULE_SYMBOL_PREFIX "__crc_"
 587#define KSYMTAB_PFX MODULE_SYMBOL_PREFIX "__ksymtab_"
 588
 589static void handle_modversions(struct module *mod, struct elf_info *info,
 590                               Elf_Sym *sym, const char *symname)
 591{
 592        unsigned int crc;
 593        enum export export;
 594
 595        if ((!is_vmlinux(mod->name) || mod->is_dot_o) &&
 596            strncmp(symname, "__ksymtab", 9) == 0)
 597                export = export_from_secname(info, get_secindex(info, sym));
 598        else
 599                export = export_from_sec(info, get_secindex(info, sym));
 600
 601        switch (sym->st_shndx) {
 602        case SHN_COMMON:
 603                warn("\"%s\" [%s] is COMMON symbol\n", symname, mod->name);
 604                break;
 605        case SHN_ABS:
 606                /* CRC'd symbol */
 607                if (strncmp(symname, CRC_PFX, strlen(CRC_PFX)) == 0) {
 608                        crc = (unsigned int) sym->st_value;
 609                        sym_update_crc(symname + strlen(CRC_PFX), mod, crc,
 610                                        export);
 611                }
 612                break;
 613        case SHN_UNDEF:
 614                /* undefined symbol */
 615                if (ELF_ST_BIND(sym->st_info) != STB_GLOBAL &&
 616                    ELF_ST_BIND(sym->st_info) != STB_WEAK)
 617                        break;
 618                if (ignore_undef_symbol(info, symname))
 619                        break;
 620/* cope with newer glibc (2.3.4 or higher) STT_ definition in elf.h */
 621#if defined(STT_REGISTER) || defined(STT_SPARC_REGISTER)
 622/* add compatibility with older glibc */
 623#ifndef STT_SPARC_REGISTER
 624#define STT_SPARC_REGISTER STT_REGISTER
 625#endif
 626                if (info->hdr->e_machine == EM_SPARC ||
 627                    info->hdr->e_machine == EM_SPARCV9) {
 628                        /* Ignore register directives. */
 629                        if (ELF_ST_TYPE(sym->st_info) == STT_SPARC_REGISTER)
 630                                break;
 631                        if (symname[0] == '.') {
 632                                char *munged = strdup(symname);
 633                                munged[0] = '_';
 634                                munged[1] = toupper(munged[1]);
 635                                symname = munged;
 636                        }
 637                }
 638#endif
 639
 640                if (memcmp(symname, MODULE_SYMBOL_PREFIX,
 641                           strlen(MODULE_SYMBOL_PREFIX)) == 0) {
 642                        mod->unres =
 643                          alloc_symbol(symname +
 644                                       strlen(MODULE_SYMBOL_PREFIX),
 645                                       ELF_ST_BIND(sym->st_info) == STB_WEAK,
 646                                       mod->unres);
 647                }
 648                break;
 649        default:
 650                /* All exported symbols */
 651                if (strncmp(symname, KSYMTAB_PFX, strlen(KSYMTAB_PFX)) == 0) {
 652                        sym_add_exported(symname + strlen(KSYMTAB_PFX), mod,
 653                                        export);
 654                }
 655                if (strcmp(symname, MODULE_SYMBOL_PREFIX "init_module") == 0)
 656                        mod->has_init = 1;
 657                if (strcmp(symname, MODULE_SYMBOL_PREFIX "cleanup_module") == 0)
 658                        mod->has_cleanup = 1;
 659                break;
 660        }
 661}
 662
 663/**
 664 * Parse tag=value strings from .modinfo section
 665 **/
 666static char *next_string(char *string, unsigned long *secsize)
 667{
 668        /* Skip non-zero chars */
 669        while (string[0]) {
 670                string++;
 671                if ((*secsize)-- <= 1)
 672                        return NULL;
 673        }
 674
 675        /* Skip any zero padding. */
 676        while (!string[0]) {
 677                string++;
 678                if ((*secsize)-- <= 1)
 679                        return NULL;
 680        }
 681        return string;
 682}
 683
 684static char *get_next_modinfo(void *modinfo, unsigned long modinfo_len,
 685                              const char *tag, char *info)
 686{
 687        char *p;
 688        unsigned int taglen = strlen(tag);
 689        unsigned long size = modinfo_len;
 690
 691        if (info) {
 692                size -= info - (char *)modinfo;
 693                modinfo = next_string(info, &size);
 694        }
 695
 696        for (p = modinfo; p; p = next_string(p, &size)) {
 697                if (strncmp(p, tag, taglen) == 0 && p[taglen] == '=')
 698                        return p + taglen + 1;
 699        }
 700        return NULL;
 701}
 702
 703static char *get_modinfo(void *modinfo, unsigned long modinfo_len,
 704                         const char *tag)
 705
 706{
 707        return get_next_modinfo(modinfo, modinfo_len, tag, NULL);
 708}
 709
 710/**
 711 * Test if string s ends in string sub
 712 * return 0 if match
 713 **/
 714static int strrcmp(const char *s, const char *sub)
 715{
 716        int slen, sublen;
 717
 718        if (!s || !sub)
 719                return 1;
 720
 721        slen = strlen(s);
 722        sublen = strlen(sub);
 723
 724        if ((slen == 0) || (sublen == 0))
 725                return 1;
 726
 727        if (sublen > slen)
 728                return 1;
 729
 730        return memcmp(s + slen - sublen, sub, sublen);
 731}
 732
 733static const char *sym_name(struct elf_info *elf, Elf_Sym *sym)
 734{
 735        if (sym)
 736                return elf->strtab + sym->st_name;
 737        else
 738                return "(unknown)";
 739}
 740
 741static const char *sec_name(struct elf_info *elf, int secindex)
 742{
 743        Elf_Shdr *sechdrs = elf->sechdrs;
 744        return (void *)elf->hdr +
 745                elf->sechdrs[elf->secindex_strings].sh_offset +
 746                sechdrs[secindex].sh_name;
 747}
 748
 749static const char *sech_name(struct elf_info *elf, Elf_Shdr *sechdr)
 750{
 751        return (void *)elf->hdr +
 752                elf->sechdrs[elf->secindex_strings].sh_offset +
 753                sechdr->sh_name;
 754}
 755
 756/* if sym is empty or point to a string
 757 * like ".[0-9]+" then return 1.
 758 * This is the optional prefix added by ld to some sections
 759 */
 760static int number_prefix(const char *sym)
 761{
 762        if (*sym++ == '\0')
 763                return 1;
 764        if (*sym != '.')
 765                return 0;
 766        do {
 767                char c = *sym++;
 768                if (c < '0' || c > '9')
 769                        return 0;
 770        } while (*sym);
 771        return 1;
 772}
 773
 774/* The pattern is an array of simple patterns.
 775 * "foo" will match an exact string equal to "foo"
 776 * "*foo" will match a string that ends with "foo"
 777 * "foo*" will match a string that begins with "foo"
 778 * "foo$" will match a string equal to "foo" or "foo.1"
 779 *   where the '1' can be any number including several digits.
 780 *   The $ syntax is for sections where ld append a dot number
 781 *   to make section name unique.
 782 */
 783static int match(const char *sym, const char * const pat[])
 784{
 785        const char *p;
 786        while (*pat) {
 787                p = *pat++;
 788                const char *endp = p + strlen(p) - 1;
 789
 790                /* "*foo" */
 791                if (*p == '*') {
 792                        if (strrcmp(sym, p + 1) == 0)
 793                                return 1;
 794                }
 795                /* "foo*" */
 796                else if (*endp == '*') {
 797                        if (strncmp(sym, p, strlen(p) - 1) == 0)
 798                                return 1;
 799                }
 800                /* "foo$" */
 801                else if (*endp == '$') {
 802                        if (strncmp(sym, p, strlen(p) - 1) == 0) {
 803                                if (number_prefix(sym + strlen(p) - 1))
 804                                        return 1;
 805                        }
 806                }
 807                /* no wildcards */
 808                else {
 809                        if (strcmp(p, sym) == 0)
 810                                return 1;
 811                }
 812        }
 813        /* no match */
 814        return 0;
 815}
 816
 817/* sections that we do not want to do full section mismatch check on */
 818static const char *section_white_list[] =
 819{
 820        ".comment*",
 821        ".debug*",
 822        ".zdebug*",             /* Compressed debug sections. */
 823        ".GCC-command-line",    /* mn10300 */
 824        ".GCC.command.line",    /* record-gcc-switches, non mn10300 */
 825        ".mdebug*",        /* alpha, score, mips etc. */
 826        ".pdr",            /* alpha, score, mips etc. */
 827        ".stab*",
 828        ".note*",
 829        ".got*",
 830        ".toc*",
 831        ".xt.prop",                              /* xtensa */
 832        ".xt.lit",         /* xtensa */
 833        NULL
 834};
 835
 836/*
 837 * This is used to find sections missing the SHF_ALLOC flag.
 838 * The cause of this is often a section specified in assembler
 839 * without "ax" / "aw".
 840 */
 841static void check_section(const char *modname, struct elf_info *elf,
 842                          Elf_Shdr *sechdr)
 843{
 844        const char *sec = sech_name(elf, sechdr);
 845
 846        if (sechdr->sh_type == SHT_PROGBITS &&
 847            !(sechdr->sh_flags & SHF_ALLOC) &&
 848            !match(sec, section_white_list)) {
 849                warn("%s (%s): unexpected non-allocatable section.\n"
 850                     "Did you forget to use \"ax\"/\"aw\" in a .S file?\n"
 851                     "Note that for example <linux/init.h> contains\n"
 852                     "section definitions for use in .S files.\n\n",
 853                     modname, sec);
 854        }
 855}
 856
 857
 858
 859#define ALL_INIT_DATA_SECTIONS \
 860        ".init.setup$", ".init.rodata$", \
 861        ".devinit.rodata$", ".cpuinit.rodata$", ".meminit.rodata$", \
 862        ".init.data$", ".devinit.data$", ".cpuinit.data$", ".meminit.data$"
 863#define ALL_EXIT_DATA_SECTIONS \
 864        ".exit.data$", ".devexit.data$", ".cpuexit.data$", ".memexit.data$"
 865
 866#define ALL_INIT_TEXT_SECTIONS \
 867        ".init.text$", ".devinit.text$", ".cpuinit.text$", ".meminit.text$"
 868#define ALL_EXIT_TEXT_SECTIONS \
 869        ".exit.text$", ".devexit.text$", ".cpuexit.text$", ".memexit.text$"
 870
 871#define ALL_PCI_INIT_SECTIONS   \
 872        ".pci_fixup_early$", ".pci_fixup_header$", ".pci_fixup_final$", \
 873        ".pci_fixup_enable$", ".pci_fixup_resume$", \
 874        ".pci_fixup_resume_early$", ".pci_fixup_suspend$"
 875
 876#define ALL_XXXINIT_SECTIONS DEV_INIT_SECTIONS, CPU_INIT_SECTIONS, \
 877        MEM_INIT_SECTIONS
 878#define ALL_XXXEXIT_SECTIONS DEV_EXIT_SECTIONS, CPU_EXIT_SECTIONS, \
 879        MEM_EXIT_SECTIONS
 880
 881#define ALL_INIT_SECTIONS INIT_SECTIONS, ALL_XXXINIT_SECTIONS
 882#define ALL_EXIT_SECTIONS EXIT_SECTIONS, ALL_XXXEXIT_SECTIONS
 883
 884#define DATA_SECTIONS ".data$", ".data.rel$"
 885#define TEXT_SECTIONS ".text$"
 886
 887#define INIT_SECTIONS      ".init.*"
 888#define DEV_INIT_SECTIONS  ".devinit.*"
 889#define CPU_INIT_SECTIONS  ".cpuinit.*"
 890#define MEM_INIT_SECTIONS  ".meminit.*"
 891
 892#define EXIT_SECTIONS      ".exit.*"
 893#define DEV_EXIT_SECTIONS  ".devexit.*"
 894#define CPU_EXIT_SECTIONS  ".cpuexit.*"
 895#define MEM_EXIT_SECTIONS  ".memexit.*"
 896
 897/* init data sections */
 898static const char *init_data_sections[] = { ALL_INIT_DATA_SECTIONS, NULL };
 899
 900/* all init sections */
 901static const char *init_sections[] = { ALL_INIT_SECTIONS, NULL };
 902
 903/* All init and exit sections (code + data) */
 904static const char *init_exit_sections[] =
 905        {ALL_INIT_SECTIONS, ALL_EXIT_SECTIONS, NULL };
 906
 907/* data section */
 908static const char *data_sections[] = { DATA_SECTIONS, NULL };
 909
 910
 911/* symbols in .data that may refer to init/exit sections */
 912#define DEFAULT_SYMBOL_WHITE_LIST                                       \
 913        "*driver",                                                      \
 914        "*_template", /* scsi uses *_template a lot */                  \
 915        "*_trmer",    href="scripts/mod/modpost.nit.rodata$", ".cpuinit.rodata$", NULL };
NULL,    href="scripts.rodata$",  827  *_shLL" class="sref">NULLpan class="string">"*_trmalsoe of t*_shL60" id="Ledposhref="scripts/mod/mo.rodata$", , ".memin*_01"string">"*_template", /* scsimo.rodata$", DATA_"L819" class="line" name9"L81991quot;.got*",
, /* scsimo.rodata$", ,
".memex*_prob _o     /* scsimo.rodata$",  891        ".debug*",
ole/* init data section9822"> 8229/a>        ".exit.*"
<9
<9 href="scripts/mod/modpo9t.c#L923" idass="sref">NULL };
 88span class="stri0" class="line" name="L910"> 910
NULL };
 910
TEXT_SECTIONS 88XT_SECTIONS" class="sref">TEXT_SECTIONS 88XT_SECTIONS" cla" class="line" name="L910"> 910
&cripts/mod/modpost.c#L829" id=92 href="+code=DEV_INIT_SECTIONS" class=9        }
sectcripts/mod/modpof">secta hre7;s (%s): unexpected non-alloc928"> 828<9a>        DATA_a>         909

        92"scripts/mod/modpost.c#L881"ost.cTO_ANY"ost.cripts/mod/modpost.cTO_ANY"ost.d="L9;s (%s): unexpected non-alloc91"> 831        9quot;.xt.prop&q="L909"> 909

 8229ef="scripts/mod/modpost.9#L8329 id="L832" clas="L909"> 909  
<9t.c#L833" id="L833" clas9="lin9" name="L833"> ="L909"> 909 89693435" id="L835" class="line" ANY" classO_ANY" id=cripts/mod/modpANY" classO_ANY" id=d="L9;s (%s): unexpected non-alloc91string">&modpost.c#L837" id="L8379 clas93535" id="L835" class="line" EXPORassO_ id=aost.cripts/mod/modpEXPORassO_ id=aost.d="L9;s (%s): unexpected non-alloc91a href="9 * This is used to find 9ectio9s missf="scripts/mod/modpost.c#L911" id="L8" id="L898" class="line" name="L898"> 893ine 93L" clas 842            /mod/mo>elfelf 840NULL };
NULL };
 8229 struct         }
sectcripts/mod/modpof">secta hrea>        }
sectcripts/mod/modpof">secta hr="scripts/mod/modpost.c#L911" id="L /span>
<9"scripts/mod/modpost.c#L943" i9="L843" class=line" name="L784"> 784{
warn(elf, 9a hre9="+cod"scripts/mod/modpost.c#L911" id="L"string">&r->            /mod/mo>elfelf            /mod/mo>elfelfS9T_PRO94ent"> * like ".[0-9]+&quoD=sectiss="sence">DEFAULT_S    /HITE_frompan class="comment">/* init data section9 href="+c9de=SHF_ALLOC" class="sre9">SHF94 * TnormalS    ions"HITEpan class="comment">/* init data section9 39" id="9 class="sref">section_wh9te_li9439 E_LIST                                table sec9ion.\n"

9a href="scripts/mod/modp9st.c#9851" id="L851". };
 909
 910
 902
 903
<9t.c#L853" id="L853" clas9="lin9" name="L853">. };
sectcripts/mod/modpof">secta hreef="+code=sechdr"ost.cTO_ANY" id=cripts/mod/modpost.cTO_ANY" id=d="L9;s (%s): unexpected non-alloc9cripts/mo9/modpost.c#L854" id="L859" cla9s="line" name=. };
warn( 909 913        "*driver" 9039856&s="line" name="L857"> 859
9a href#L821" id="L821" class="line" name9;a href="9="line" name="L858"> 8589/a>
<9561" id="L851". };
 909
 910
 8599/a>#d957="line" name. };
 9TIONS" class="sref">ALL_EXIT_SECTIONS  910
ALL_INIT_DATA_SEC9IONS<958name="L853">. };
sectcripts/mod/modpof">secta hreef="+code=sechdr"a>

 86959"line" name=. };
warn( 909 913        "*driver" 903".memini9.roda9a$&quo#L821" id="L821" class="line" name9lass="str9ng">".cpuinit.data$9quot;96 name="L853">. };
 909
 910
 8696="line" name=. };
 882#define  910
".cpuexit.data$9quot;9/span>, sectcripts/mod/modpof">secta hreef="+code=sechdr"a>

ALL_INIT_TEXT_SEC9IONS<965"line" name=. };
warn( 8696ref="scripts/mod/modpd="L915" class="line" name="L915"> 915        NULL };
 827  *_shLL" class="sref"class="string">".memin*_01"string">";s (%s): unexpected non-alloc9Nhref="+c9ng">".cpuinit.text$9quot;96
".memex*_prob _o     ,
ole 910
 86968name="L853">f9;s (%s): unexpected non-alloc9" id="L869ng">".cpuexit.text$9quot;9/span>f9;s (%s): unexpected non-alloc9S" class=9sref">ALL_PCI_INIT_SECTI9NS 8797s="line" name. };
 909
 910
, ".pci9fixup97 name="L853">. };
 906
 907 id="L869ref="scripts/mod/modpost9c#L8797="line" name=. };
sectcripts/mod/modpof">secta hreef="+code=sechdr"ost.cTO_ANY"ost.cripts/mod/modpost.cTO_ANY"ost.d="L9;s (%s): unexpected non-alloc9t;9warn( 909 913        "*driver" 903ALL_XXXINIT_SECTION9 9a hrefl9;s (%s): unexpected non-alloc9"a href="9INIT_SECTIONS,  878#9efine977="line" name. };
 909
 910
DEV9EXIT_SECTIONS, . };
 906
 907 id="L869e" name="L880"> 880
9a hre979"line" name=. };
sectcripts/mod/modpof">secta hreef="+code=sechdr"a>

ALL_INIT_SECTIONS 9a hre9851" id="L851". };
warn( 909 913        "*driver" 903, DEFS    /HITE_from IONS 8S    /HITE_ E_LIST                                ="sref">D9TA_SECTIONS sech_name(".data.rel$&quo9;,  909 9TIONS" class="sref">ALL_EXIT_SECTIONS  910
 882#define  910
I9IT_SECTIONS      sectcripts/mod/modpof">secta hreef="+code=sechdr"NS  warn( 909 913        "*driver" 903DEV9ef="scripts/mod/modpost.9#L8899 id="Ll9;s (%s): unexpected non-alloc9_ id="L869ef="scripts/mod/modpost.9#L89098comment"> */
 8S    /HITE_ E_LIST                                pan>
E9IT_SECTIONS       909 891
 903. };
MEM_INIT_SECTIONS
 903D9ef="scripts/mod/modpost.9#L89499="line" name=. };
sectcripts/mod/modpof">secta hreef="+code=sechdr"NS  
warn( 909 913        "*driver" 903
 * like ".[0-9]+&quoD=sectiss="sence"892"> 8S    /HITE_from IONS                                phref="sc9static const char *DEV9 class="sref">ALL_INIT_D9TA_SE998name="L853">. };
 909MEM_INIT_SECTIONS
 903 891
 903 90110> 90ref="scripts/mod/mod10> 9>10> "line" name=. };
sectcripts/mod/modpof">secta hreef="+code=sechdr"NS   9>s (%s): unexpected non-alloc10>190110>T_SECTIONS      T_>10>s="line" name. };
warn( 909 913        "*driver" 903290110>pts/mod/modpost.c#L893"10>pt>10>2hrefl9;s (%s): unexpected non-alloc10>390110>f="scripts/mod/modpost.10>f=>10>st char * 8S    /HITE_ E_LIST                               10>490110>f="scripts/mod/modpost.10>f=>10>4=inia;s (%s): unexpected non-alloc10>590110>f="scripts/mod/modpost.10>f=>10>5"line" name=. };
 909 9TIOid="L884" class="line" name="L884"> 884#define <903" class="line" name="L903"> 903690110> 883
 903790110>tatic const char *ta>10>7="line" name. };
sectcripts/mod/modpof">secta hreef="+code=sechdr"NS< classO_SOME"ost.cripts/mod/modpNS< classO_SOME"ost.d="L9;s (%s): unexpected non-alloc10>890110>class="sref">ALL_INIT_D10>cl>10>8name="L853">. };
warn( 909 913        "*driver" 903990110>a href="scripts/mod/mod10>a >10>span>f9;s (%s): unexpected non-alloc101 90110fer to init/exit section10fer>10feomment"> */
 8S    /HITE_ E_LIST                               101190110" class="line" name="L9110" c>10f$&quo#L821" id="L821" class="line" name10f290110a href="scripts/mod/modp10a h>10f name="L853">. };
 909 896
 90310odpost.c#L914" id="L914"10odp>10f="line" name=. };
MEM_EXIT_SECTIONS
 90310     \
sectcripts/mod/modpof">secta hreef="+code=sechdr"NS< classO_SOME"ost.cripts/mod/modpNS< classO_SOME"ost.d="L9;s (%s): unexpected non-alloc101590110quot;.cpuinit.rodata$&qu10quo>10f5"line" name=. };
warn( 909 913        "*driver" 90310 to do full section mism10 to>10f6pan>f9;s (%s): unexpected non-alloc10179011018" id="L818" class="lin1018">10f_sections" class="sref">data_sD=sectiss="sence"892ULT_S    /HITE_from IONULT_S    /HITE_ E_LIST                               101890110"L819" class="line" name10"L8>10f8&quo#L821" id="L821" class="line" name10f990110span>,
 909MEM_EXIT_SECTIONS
 903101        101<"line" name=. };
 896
 90310/a>        sectcripts/mod/modpof">secta hreef="+code=sechdr"NS< classO_SOME"ost.cripts/mod/modpNS< classO_SOME"ost.d="L9;s (%s): unexpected non-alloc102290110 href="scripts/mod/modpo10 hr>101 name="L853">. };
warn( 909 913        "*driver" 90310modpost.c#L824" id="L82410mod>1013pan>f9;s (%s): unexpected non-alloc102490110an>
data_sD=secti">moULT_S    /HITE_from S                               102590110cripts/mod/modpost.c#L8210cri>101 href#L821" id="L821" class="line" name101690110cripts/mod/modpost.c#L8210cri>10161" id="L851". };
 909 902
 90310a>         906
 90710a>        . };
sectcripts/mod/modpof">secta hreef="+code=sechdr"ANY" id=aTO_ANY"ost.cripts/mod/modpANY" id=aTO_ANY"ost.d="L9;s (%s): unexpected non-alloc101990110>        warn( 909 913        "*driver" 90310>        10>/a>#define mo"> 8S    /HITE_from ULT_S    _ E_LIST                               103290110t.c#L833" id="L833" clas10t.c>10>2href#L821" id="L821" class="line" name103390110 909 906
 90710ss="line" name="L836"> 810ss=>10>span>,  902
 903590110modpost.c#L837" id="L83710mod>10>5"line" name=. };
sectcripts/mod/modpof">secta hreef="+code=sechdr"ANY" classO_ANY" id=cripts/mod/modpANY" classO_ANY" id=d="L9;s (%s): unexpected non-alloc10>690110 * This is used to find 10 * >10>61" id="L851". };
warn( 909 913        "*driver" 903108" class="line" name="L8108" >10>7pan>f9;s (%s): unexpected non-alloc103890110839" class="line" name="10839>10>8&quo#L821" id="L821" class="line" name103990110ame="L840"> 84010>9"line" name=. };
 909".pci_fixup_early$",  90310+code=check_section" cla10+co>10+cpan>,  882#define  910
10 struct sectcripts/mod/modpof">secta hreef="+code=sechdr"ANY" id=aTO_ANY"ost.cripts/mod/modpANY" id=aTO_ANY"ost.d="L9;s (%s): unexpected non-alloc104290110"scripts/mod/modpost.c#L10"sc>10+ name="L853">. };
warn( 909 910
10>sec = elf, 10" c>10+4sections" class="sref">data_sD=sectiexport">DEFAULT_SfunBOL_WHIor HITE_ E_LIST                               104590110r->10PROGBITS" class="sref">S10PRO>10+61" id="L851". };
 910
10de=SHF_ALLOC" class="sre10de=>10+7="line" name. };
 882#define  883
 90310 class="sref">section_wh10 cl>10+8name="L853">. };
sectcripts/mod/modpof">secta hreef="+code=sechdr"EXPORassO_ id=aost.cripts/mod/modpEXPORassO_ id=aost.d="L9;s (%s): unexpected non-alloc10+990110ion.\n"
10+9"line" name=. };
warn( 909 913        "*driver" 90310a href="scripts/mod/modp10a h>10a pan>f;s (%s): unexpected non-alloc105190110d/modpost.c#L852" id="L810d/m>10aSECTIl="scripts/mod/modpost.c#L911" id="10a290110t.c#L853" id="L853" clas10t.c>10ascripts/mod/modpost.c#L904" id="L904" 10a390110/modpost.c#L854" id="L8510/mo>10a3" idass="sref">NUas 842            /mod/mo>elfelf 784{
mod/mo_hf">sectcripts/mod/modp
mod/mo_hf">secta hr(ts/mod/modpost.c#L904" id="L904" 10a490110856" class="line" name="10856>10aspan>, NULL };
NULL };
10s="line" name="L857"> 8510s=">10a href#L821" id="L821" class="line" name105690110="line" name="L858"> 85810="l>10a61" id="L851"in2            ine" name="L855"i1" i="scripts/mod/modpost.c#L911" id="10a790110="line" name="L859"> 85910="l>10a71" id="L851"in2            elemMe="L910"> 910            /mod/mo>elfelf            /mod/mo>elfelfALL_INIT_DATA_SEC10"sr>10a8name="L853">ef">NUas 842            /mod/mo>elfelf 784{>elfelf            /mod/mo>elfelf10an class="comment">/* symbols in .data 106 90110s/mod/modpost.c#L861" id10s/m>10s/name="L853">for (/a>            ine" name="L855"i1" ie= 0;            ine" name="L855"i1" i <            elemMe="L910"> 910            ine" name="L855"i1" i++)na;s (%s): unexpected non-alloc10s190110s="string">".memini10s=">10s1pan>,             >sectcripts/mod/modposecta hr( };
 784{>elfelf            from"line" name="L855"from"lihref) &&;s (%s): unexpected non-alloc10s290110ng">".cpuinit.data$10ng">10s2pan>,             >sectcripts/mod/modposecta hr( };
 784{>elfelf            to"line" name="L855"to"lihref))ts/mod/modpost.c#L904" id="L904" 106390110" class="line" name="L8610" c>10s3pan>,  784{>elfelf10ng">".cpuexit.data$10ng">10sspan>,  784{>elfelf10"sref">ALL_INIT_TEXT_SEC10"sr>10s5"line" name=f;s (%s): unexpected non-alloc106690110" class="line" name="L8610" c>10s61" id="L851"return/L784"> 784{ name="L903"> 90310ng">".cpuinit.text$10ng">10s7pan>f;s (%s): unexpected non-alloc106890110" class="line" name="L8610" c>10s8 class="comment">/* symbols in .data 106990110ng">".cpuexit.text$10ng">10scomment"> */
                               107 90110sref">ALL_PCI_INIT_SECTI10sre>10sromment"> */
                               107190110" class="line" name="L8710" c>10s/a>#define ".pci10las>10sSECTI * like ".[0-9]+& * Pattern/1:_LIST                               107390110ref="scripts/mod/modpost10ref>10sst char *                               107490110dat *   then this is legal desps=" the warning generated._LIST                               107590110ref">ALL_XXXINIT_SECTION10ref>10s5sections" class="sref">dat *   We canectisee value of"perhf"sL_WH h"se, so juf"6ignore_LIST                               107690110INIT_SECTIONS, 10sent"> * like ".[0-9]+& *   this pattern._LIST                               107790110e" name="L878"> 878#10e" >10s * T  The pattern is idnt"ifidpSby:_LIST                               107890110EXIT_SECTIONS, 10s39    to"li mes=._SEC.HITEpan class="comment">/* init data section10s990110e" name="L880"> 880
10e" >10scomment"> */
    from"lies=.HITE*_LIST                               108 90110">ALL_INIT_SECTIONS 10">A>10">omment"> */
    atsym mes__p/rod*_LIST                               108190110/a>, #define >10"SECTI * like ".[0-9]+& * Pattern/1a:_LIST                               108390110TA_SECTIONS 10"st char *                               108490110ng">".data.rel$&quo10ng">10"4sections" class="sref">dat *   The pattern is idnt"ifidpSby:_LIST                               108590110od/modpost.c#L886" id="L10od/>10"5sections" class="sref">dat *   to"li mes=._SEC.> 88_LIST                               108690110IT_SECTIONS      10"ent"> * like ".[0-9]+& *   from"lies=.HITE*_LIST                               108790110ipts/mod/modpost.c#L888"10ipt>10" * T  atsym mes __p/rod_01"_*_LIST                               108890110ef="scripts/mod/modpost.10ef=>10"39 _LIST                               108990110ef="scripts/mod/modpost.10ef=>10"comment"> */
  Pattern/2:_LIST                               109 90110ef="scripts/mod/modpost.10ef=>10ef/a> * T  Many lass="s utiref>,  class=">ef"tain=">with ss="sences60"_LIST                               109190110IT_SECTIONS      10e/a>#define 10eSECTI * like ".[0-9]+& *   Thes SfunBOL_WHImay often b SmarkdpS"_IONS                               109390110ef="scripts/mod/modpost.10ef=>10est char *                               109490110ef="scripts/mod/modpost.10ef=>10e4sections" class="sref">dat *   the pattern is idnt"ifidpSby:_LIST                               109590110ef="scripts/mod/modpost.10ef=>10e5sections" class="sref">dat *   to"li mes=S                               109690110
 * like ".[0-9]+& *   from"lies=HITE_/mod/mo_LIST                               109790110static const char *10e * T  atsym = class=", "L915"> 91,t*_shL,t*_01",t*_prob ,_LIST                               109890110 class="sref">ALL_INIT_D10 cl>10e39            *prob _o  ,t*_ef">ole, "L9NULL_LIST                               109990110 */
 _LIST                               11> 90111> 90ref="scripts/mod/mod11> 9>110f/a> * TPattern/3:_LIST                               11>190111>T_SECTIONS      T_>110/a>#define  8860" any _SECiseod/mo_LIST                               11>290111>pts/mod/modpost.c#L893"11>pt>110SECTI * like ".[0-9]+& *_LIST                               11>390111>f="scripts/mod/modpost.11>f=>11>st char *f=>1104sections" class="sref">dat *   Some ULT_SYM b long60" _SECiseod/mo buNUasill ECiis ok60" ss="sence_LIST                               11>590111>f="scripts/mod/modpost.11>f=>1105sections" class="sref">dat *   thes Sfrom non-_SECiseod/mos as thes SULT_SYM don't have any msmory_LIST                               11>690111> * like ".[0-9]+& *   allocated>for them_ons"ULT_SY address_ons"value ar SUmod. So eveo_LIST                               11>790111>tatic const char *ta>110 * T  if _SECiseod/mo is6freed, its ok60" ss="sence thos SULT_SYM._LIST                               11>890111>class="sref">ALL_INIT_D11>cl>11039    For UL.SULT_SYM marking the _SECiseod/mo boundarieM._LIST                               11>990111>a href="scripts/mod/mod11>a >110comment"> */
    This pattern is idnt"ifidpSby_LIST                               111 90111fer to init/exit section11fer>11feomment"> */
       ULTsectes ___SEC_begin, _s_SEC> 88, _e_SEC> 88_LIST                               111190111" class="line" name="L9111" c>111/a>#define 111SECTI * like ".[0-9]+& * E_LIST                               111390111odpost.c#L914" id="L914"11odp>1113" idass="srin2            seo   lass="ref">warn(NUas 842            /mod/mo>elfelf 784{hf">sectcripts/mod/modpof">secta hr9;s (%s): unexpected non-alloc111490111     \
NULL };
NULL };
11quot;.cpuinit.rodata$&qu11quo>11f5"line" name=                    ef">NULL };
NULL };
11 to do full section mism11 to>111e=CPUa;s (%s): unexpected non-alloc11179011118" id="L818" class="lin1118">11171" id="L851"ions" class="sref">data_sCelf<>for pattern 1_ E_LIST                               111890111"L819" class="line" name11"L8>1118name="L853">if (/a>            >sectcripts/mod/modposecta hr( };
 784{_SEC_HITE_seod/mosne" name="L855"iSEC_HITE_seod/moshref) &&;s (%s): unexpected non-alloc11f990111span>,
            >sectcripts/mod/modposecta hr( };
 784{HITE_seod/mosne" name="L855"HITE_seod/moshref) &&;s (%s): unexpected non-alloc112 901111        111<"line" name=====(/a>            /trncmpcripts/mod/modp/trncmpa hr( };
11/a>        112scripts/mod/modpost.c#L904" id="L904" 112390111modpost.c#L824" id="L82411mod>11231" id="L851"ions" class="sref">data_sCelf<>for pattern 1E_ E_LIST                               112490111an>
if (/a>            ="lcmpcripts/mod/modp/trcmpa hr( };
11cripts/mod/modpost.c#L8211cri>1125"line" name=    ia>            >sectcripts/mod/modposecta hr( };
 784{HITE_seod/mosne" name="L855"HITE_seod/moshref) &&;s (%s): unexpected non-alloc112690111cripts/mod/modpost.c#L8211cri>112ref="scripts/mod/(/a>            /trncmpcripts/mod/modp/trncmpa hr( };
11a>        11a>        /* symbols in .data 111990111>        data_sCelf<>for pattern 2_ E_LIST                               113 90111>        if (/a>            >sectcripts/mod/modposecta hr( };
 784{_SEC_ULT__seod/mosne" name="L855"iSEC_ULT__seod/moshref) &&;s (%s): unexpected non-alloc113190111ef="scripts/mod/modpost.11ef=>1131pan>,             >sectcripts/mod/modposecta hr( };
 784{HITE_seod/mosne" name="L855"HITE_seod/moshref) &&;s (%s): unexpected non-alloc113290111t.c#L833" id="L833" clas11t.c>1132pan>,             >sectcripts/mod/modposecta hr( };
 784{hf">sectcripts/mod/modpof">secta hr->/a>            
warn(11 811ss=>11>span>;s (%s): unexpected non-alloc113590111modpost.c#L837" id="L83711mod>11>5"line" name=ions" class="sref">data_sCelf<>for pattern 3_ E_LIST                               113690111 * This is used to find 11 * >11>61" id="L851"if (/a>            >sectcripts/mod/modposecta hr( };
 784{118" class="line" name="L8118" >113
 784{_SEC_seod/mosne" name="L855"iSEC_seod/moshref))ts/mod/modpost.c#L904" id="L904" 113890111839" class="line" name="11839>1138pan>, 11ame="L840"> 840113n class="comment">/* symbols in .data 114 90111+code=check_section" cla11+co>11+cpan>, data_sCelf<>for pattern 4_ E_LIST                               11+190111 struct             >sectcripts/mod/modposecta hr( };
 784{hreker_ULT_SYMne" name="L855"hreker_ULT_SYMhref))ts/mod/modpost.c#L904" id="L904" 114290111"scripts/mod/modpost.c#L11"sc>1142pan>, 11>sec = elf, 11" c>1144name="L853">return/1;;s (%s): unexpected non-alloc11+590111r->S11PRO>11+61" i;s (%s): unexpected non-alloc114790111de=SHF_ALLOC" class="sre11de=>114_sections" class="sref">data_*_LIST                               114890111 class="sref">section_wh11 cl>11439  Fins"ULT_SY based onasslocationasscord info._LIST                               11+990111ion.\n"
114comment"> */
  In some cases the"ULT_SY supplidpSis a"valis"ULT_SY s"_LIST                               115 90111a href="scripts/mod/modp11a h>115eomment"> */
  return/r  ULT. If st_secte!= 0 we /spume this is a"valis"ULT_SY._LIST                               115190111d/modpost.c#L852" id="L811d/m>115/a>#define                                11a290111t.c#L853" id="L853" clas11t.c>115SECTI * like ".[0-9]+& * based onaseod/mo ons"address._LIST                               115390111/modpost.c#L854" id="L8511/mo>115st char * 784{Elf_Symne" name="L855"Elf_Syma hre"L784"> 784{fins_elf_ULT_SYne" name="L855"fins_elf_ULT_SYa hr(as 842            elf_infone" name="L855"elf_infoa hre"L784"> 784{elfne" name="L855"elfhref,/L784"> 784{Elf64_Swordne" name="L855"Elf64_Sworda hreL784"> 784{addrne" name="L855"addra hr9;s (%s): unexpected non-alloc11a590111s="line" name="L857"> 8511s=">1155"line" name=                    ipts/a>            Elf_Symne" name="L855"Elf_Syma hre"L784"> 784{ssl"ymne" name="L855"ssl"ymhref)ts/mod/modpost.c#L904" id="L904" 115690111="line" name="L858"> 85811="l>115e=CPUa;s (%s): unexpected non-alloc11a790111="line" name="L859"> 85911="l>11a71" id="L851"/a>            Elf_Symne" name="L855"Elf_Syma hre"L784"> 784{"ymne" name="L855""ymhref;;s (%s): unexpected non-alloc11a890111"sref">ALL_INIT_DATA_SEC11"sr>11a8name="L853">/a>            Elf_Symne" name="L855"Elf_Syma hre"L784"> 784{nearne" name="L855"neara hreef="+code=sechdr" name="L903"> 90311" class="line" name="L8611" c>1159name="L853">/a>            Elf64_Swordne" name="L855"Elf64_Sworda hreL784"> 784{diassncene" name="L855"Hiassncea hreef20;;s (%s): unexpected non-alloc116 90111s/mod/modpost.c#L861" id11s/m>11s/name="L853">/a>            Elf64_Swordne" name="L855"Elf64_Sworda hreL784"> 784{dne" name="L855"Hpan ;;s (%s): unexpected non-alloc11s190111s="string">".memini11s=">11s1pan>,             ssl"ym_seoinsexne" name="L855"ssl"ym_seoinsexpan ;;s (%s): unexpected non-alloc11s290111ng">".cpuinit.data$11ng">116scripts/mod/modpost.c#L904" id="L904" 116390111" class="line" name="L8611" c>11s3pan>,             ssl"ymne" name="L855"ssl"ymhref->/a>            
t_sectcripts/mod/modp/t_sectpan>,!= 0)ts/mod/modpost.c#L904" id="L904" 11s490111ng">".cpuexit.data$11ng">11sspan>,  784{ssl"ymne" name="L855"ssl"ymhref;;s (%s): unexpected non-alloc11s590111"sref">ALL_INIT_TEXT_SEC11"sr>11s5"lin;s (%s): unexpected non-alloc11s690111" class="line" name="L8611" c>11s61" id="L851"/a>            ssl"ym_seoinsexne" name="L855"ssl"ym_seoinsexpan eef="+code=sechdr"get_seoinsexne" name="L855"get_seoinsexa hr( };
 784{ssl"ymne" name="L855"ssl"ymhref);;s (%s): unexpected non-alloc11s790111ng">".cpuinit.text$11ng">11671" id="L851"for (/a>            "ymne" name="L855""ymhrefeef="+code=sechdr"elfne" name="L855"elfhref->/a>            
warn(            elfne" name="L855"elfhref->/a>            
11" class="line" name="L8611" c>1168pan>,             get_seoinsexne" name="L855"get_seoinsexa hr( };
 784{=ymne" name="L855""ymhref),!= /a>            ssl"ym_seoinsexne" name="L855"ssl"ym_seoinsexpan )ts/mod/modpost.c#L904" id="L904" 11s990111ng">".cpuexit.text$11ng">1169"line" name=851"""""""""""""ef"tinue;;s (%s): unexpected non-alloc117 90111sref">ALL_PCI_INIT_SECTI11sre>117<"line" name=====    if (/a>            ELF_ST_TYPEne" name="L855"ELF_ST_TYPEa hr( };
            
t_infone" name="L855"
t_infohref),== /a>            ST
11" class="line" name="L8711" c>1171pan>, 11lass="string">".pci11las>1172pan>,             =ymne" name="L855""ymhref->/a>            
t_valuene" name="L855"
t_valuehrefee= /a>            addrne" name="L855"addra hr)ts/mod/modpost.c#L904" id="L904" 117390111ref="scripts/mod/modpost11ref>1173pan>,  784{"ymne" name="L855""ymhref;;s (%s): unexpected non-alloc117490111data_sFins"a"ULT_SY nearby -"addr ar Smaybe negativ _ E_LIST                               117590111ref">ALL_XXXINIT_SECTION11ref>1175"line" name=        L784"> 784{dne" name="L855"Hpan eef="+code=sechdr"=ymne" name="L855""ymhref->/a>            
t_valuene" name="L855"
t_valuehrefe- /a>            addrne" name="L855"addra hr;;s (%s): unexpected non-alloc117690111INIT_SECTIONS, 117ref="scripts/mod/    if (/a>            dne" name="L855"Hpan e<<0)ts/mod/modpost.c#L904" id="L904" 117790111e" name="L878"> 878#11e" >117
 784{dne" name="L855"Hpan eef="+code=sechdr"addrne" name="L855"addra hre- /a>            =ymne" name="L855""ymhref->/a>            
t_valuene" name="L855"
t_valuehref;;s (%s): unexpected non-alloc117890111EXIT_SECTIONS, 1178pan>,             dne" name="L855"Hpan e< 784{diassncene" name="L855"Hiassncea hr)na;s (%s): unexpected non-alloc11s990111e" name="L880"> 880
11e" >1179"line" name=851"""""""""""""L784"> 784{diassncene" name="L855"Hiassncea hreefL784"> 784{dne" name="L855"Hpan ;;s (%s): unexpected non-alloc118 90111">ALL_INIT_SECTIONS 11">A>118<"line" name=====    """"""""L784"> 784{nearne" name="L855"neara hreef="+code=sechdr""ymne" name="L855""ymhref;;s (%s): unexpected non-alloc118190111/a>, >1182pan>, 11TA_SECTIONS 11831" id="L851"ions" class="sref">data_sWe need"a"clos Sosect_ E_LIST                               118490111ng">".data.rel$&quo11ng">1184name="L853">if (/a>            diassncene" name="L855"Hiassncea hre<<20)ts/mod/modpost.c#L904" id="L904" 118590111od/modpost.c#L886" id="L11od/>1185"line" name=        return/L784"> 784{nearne" name="L855"neara hr;;s (%s): unexpected non-alloc118690111IT_SECTIONS      118ref="scripts/sl"e;s (%s): unexpected non-alloc118790111ipts/mod/modpost.c#L888"11ipt>118
 90311ef="scripts/mod/modpost.11ef=>11"3911ef="scripts/mod/modpost.11ef=>118n class="comment">/* symbols in .data 119 90111ef="scripts/mod/modpost.11ef=>11ef/a> 784{in/mod/m"L903"> 903            is_arm_mapping_ULT_SYne" name="L855"is_arm_mapping_ULT_SYa hr(ef">NULL };
11IT_SECTIONS      119$&quo#L821" id="L821" class="line" name119290111ipts/mod/modpost.c#L893"11ipt>1192pan>,  784{"trne" name="L855"stra hr[0]ee= /"L897" class="line" n#39;$n#39;_LIST 784{"trchrne" name="L855"strchra hr( "L897" class="line" name="atdpan class="stri0" class="line"="lne" name="L855"stra hr[1])ts/mod/modpost.c#L904" id="L904" 119390111ef="scripts/mod/modpost.11ef=>1193pan>,             /trne" name="L855"stra hr[2]ee= /"L897" class="line" n#39;\0n#39;_LIST11ef="scripts/mod/modpost.11ef=>11e4sectf;s (%s): unexpected non-alloc119590111ef="scripts/mod/modpost.11ef=>1195"lin;s (%s): unexpected non-alloc119690111
 * like ".[0-9]+&/*_LIST                               119790111static const char *11e * TIf theren#39;s no secteth"se, ignore it;                               119890111 class="sref">ALL_INIT_D11 cl>11e39  one of"the"mag"srULT_SYM emEC> di">mpSby currmen ARM toSYM._LIST                               119990111 */
 _LIST                               12> 90112> 90ref="scripts/mod/mod12> 9>120f/a> * TOth"swise if fins_ULT_SYM_between() returns thos SULT_SYM,"theyn#39;ll_LIST                               12>190112>T_SECTIONS      T_>120/a>#define molots of falf>, larms ... fixable_LIST                               12>290112>pts/mod/modpost.c#L893"12>pt>120SECTI * like ".[0-9]+& * onlySby merging __ULT__ons""__SECiseod/mos in2f""_> 88, blos="ng_LIST                               12>390112>f="scripts/mod/modpost.12>f=>12>st char * 9forms)._LIST                               12>490112>f="scripts/mod/modpost.12>f=>1204sections" class="sref">dat *E_LIST                               12>590112>f="scripts/mod/modpost.12>f=>1205sectass="srL784"> 784{in/mod/m"L903"> 903            is_valis_sectcripts/mod/modpis_valis_secta hr(as 842            elf_infone" name="L855"elf_infoa hre"L784"> 784{elfne" name="L855"elfhref,/L784"> 784{Elf_Symne" name="L855"Elf_Syma hre"L784"> 784{"ymne" name="L855""ymhref)ts/mod/modpost.c#L904" id="L904" 12>690112>NULL };
            
trtabne" name="L855"strtabpan>,+ /a>            =ymne" name="L855""ymhref->/a>            
t_sectcripts/mod/modp/t_sectpan>;;s (%s): unexpected non-alloc12>890112>class="sref">ALL_INIT_D12>cl>1208 class="comment">/* symbols in .data 12>990112>a href="scripts/mod/mod12>a >1209"line" name=if (! };
))ts/mod/modpost.c#L904" id="L904" 121 90112fer to init/exit section12fer>121<"line" name=====    return/0;;s (%s): unexpected non-alloc121190112" class="line" name="L9112" c>1211pan>, 121SECTIf;s (%s): unexpected non-alloc121390112odpost.c#L914" id="L914"12odp>1213pan>;s (%s): unexpected non-alloc121490112     \
data__LIST                               121590112quot;.cpuinit.rodata$&qu12quo>1215sections" class="sref">dat * Fins"ULT_SYM b fore or Uqual"addr ans"after addr - in the"Ueod/mo Ueo._LIST                               121690112 to do full section mism12 to>121ent"> * like ".[0-9]+& * If we fins two"ULT_SYM with Uqual"offse_Sprs="srone with a"valis"on m._LIST                               12179011218" id="L818" class="lin1218">121 * TThe ELF"formatImay have a b tter way 2f"deteod wsatItype of"ULT_SYa IST                               121890112"L819" class="line" name12"L8>12139  ECiis, buNUthis works"for now._LIST                               121990112span>,
 */
 *E_LIST                               122 901121        122f/a> 784{Elf_Symne" name="L855"Elf_Syma hre"L784"> 784{fins_elf_ULT_SY2ne" name="L855"fins_elf_ULT_SY2a hr(as 842            elf_infone" name="L855"elf_infoa hre"L784"> 784{elfne" name="L855"elfhref,/L784"> 784{Elf_Addrne" name="L855"Elf_Addra hre="+code=sechdr"addrne" name="L855"addra hr9;s (%s): unexpected non-alloc122190112/a>        NULL };
12 href="scripts/mod/modpo12 hr>122scripa;s (%s): unexpected non-alloc122390112modpost.c#L824" id="L82412mod>12231" id="L851"i784"> 784{Elf_Symne" name="L855"Elf_Syma hre"L784"> 784{"ymne" name="L855""ymhref;;s (%s): unexpected non-alloc122490112an>
i784"> 784{Elf_Symne" name="L855"Elf_Syma hre"L784"> 784{nearne" name="L855"neara hreef="+code=sechdr" name="L903"> 90312cripts/mod/modpost.c#L8212cri>1225"line" name=L784"> 784{Elf_Addrne" name="L855"Elf_Addra hre="+code=sechdr"diassncene" name="L855"Hiassncea hreef~0;;s (%s): unexpected non-alloc122690112cripts/mod/modpost.c#L8212cri>12261" i;s (%s): unexpected non-alloc122790112a>                    "ymne" name="L855""ymhrefeef="+code=sechdr"elfne" name="L855"elfhref->/a>            
warn(            elfne" name="L855"elfhref->/a>            
12a>        NULL };
12>        /* symbols in .data 123 90112>                    is_shndx_specialne" name="L855"is_shndx_speciala hr( };
            
t_shndxcripts/mod/modp/t_shndxpan>))ts/mod/modpost.c#L904" id="L904" 123190112ef="scripts/mod/modpost.12ef=>1231pan>, 12t.c#L833" id="L833" clas12t.c>1232pan>,  784{sym"line" name="L855"sym"lipan eef="+code=sechdr""ec_sectcripts/mod/modp/ec_secta hr( };
 784{get_seoinsexne" name="L855"get_seoinsexa hr( };
 784{=ymne" name="L855""ymhref));;s (%s): unexpected non-alloc123390112 784{=line" name="L855""lihref),!= 0)ts/mod/modpost.c#L904" id="L904" 123490112ss="line" name="L836"> 812ss=>123span>, 12modpost.c#L837" id="L83712mod>1235"line" name=        if (! };
 784{=ymne" name="L855""ymhref));s (%s): unexpected non-alloc123690112 * This is used to find 12 * >123ref="scripts/mod/            ef"tinue;;s (%s): unexpected non-alloc1237901128" class="line" name="L8128" >123
            
t_valuene" name="L855"
t_valuehrefe<= /a>            addrne" name="L855"addra hr)na;s (%s): unexpected non-alloc123890112839" class="line" name="12839>1238pan>,             addrne" name="L855"addra hre- /a>            =ymne" name="L855""ymhref->/a>            
t_valuene" name="L855"
t_valuehref)e< 784{diassncene" name="L855"Hiassncea hr)na;s (%s): unexpected non-alloc123990112ame="L840"> 8401239"line" name=851"""""""""""""""""""""="+code=sechdr"diassncene" name="L855"Hiassncea hreef/a>            addrne" name="L855"addra hre- /a>            =ymne" name="L855""ymhref->/a>            
t_valuene" name="L855"
t_valuehref;;s (%s): unexpected non-alloc124 90112+code=check_section" cla12+co>124<"line" name=====    """"""""""""""""="+code=sechdr"nearne" name="L855"neara hreef="+code=sechdr""ymne" name="L855""ymhref;;s (%s): unexpected non-alloc12+190112 struct             addrne" name="L855"addra hre- /a>            =ymne" name="L855""ymhref->/a>            
t_valuene" name="L855"
t_valuehref)ee= /a>            diassncene" name="L855"Hiassncea hr)na;s (%s): unexpected non-alloc124290112"scripts/mod/modpost.c#L12"sc>1242pan>, 12>sec = elf, 12" c>124span>, 12r->12PROGBITS" class="sref">S12PRO>12461" id="L851"return/L784"> 784{nearne" name="L855"neara hr;;s (%s): unexpected non-alloc124790112de=SHF_ALLOC" class="sre12de=>1247pan>f;s (%s): unexpected non-alloc124890112 class="sref">section_wh12 cl>1248 class="comment">/* symbols in .data 12+990112ion.\n"
124comment"> */
                               125 90112a href="scripts/mod/modp12a h>125eomment"> */
  Convert E_/mod/mo secteto the"funBOL_W/HITE_ottribute_LIST                               125190112d/modpost.c#L852" id="L812d/m>125/a>#define                                125290112t.c#L853" id="L853" clas12t.c>125SECTI * like ".[0-9]+& * .cpu_SEC.HITE =>""_cpuHITEpan class="comment">/* init data section125390112/modpost.c#L854" id="L8512/mo>125st char *NU=>""_memef">Npan class="comment">/* init data section125490112856" class="line" name="12856>1254sections" class="sref">dat * etc._LIST                               12a590112s="line" name="L857"> 8512s=">1255sections" class="sref">dat *_LIST                               12a690112="line" name="L858"> 85812="l>125ent"> * like ".[0-9]+& * The msmory of"returnes"value haM b en allocated>mo o heap. The us"srofUthis_LIST                               12a790112="line" name="L859"> 85912="l>125 * Tmethod should6free ECiafter usagm._LIST                               12a890112"sref">ALL_INIT_DATA_SEC12"sr>12539                               12a990112" class="line" name="L8612" c>1259nameass="srLL };
NULL };
12s/mod/modpost.c#L861" id12s/m>12s/namea;s (%s): unexpected non-alloc12s190112s="string">".memini12s=">126s="line" nameif (/a>            >sectcripts/mod/modposecta hr( };
 784{_SEC_ULT__seod/mosne" name="L855"iSEC_ULT__seod/moshref))na;s (%s): unexpected non-alloc12s290112ng">".cpuinit.data$12ng">1262pan>,  };
12" class="line" name="L8612" c>1263pan>,  };
12ng">".cpuexit.data$12ng">126span>;s (%s): unexpected non-alloc12s590112"sref">ALL_INIT_TEXT_SEC12"sr>1265"line" name=        > };
12" class="line" name="L8612" c>126ref="scripts/mod/    > };
12ng">".cpuinit.text$12ng">126
12" class="line" name="L8612" c>1268pan>, 12ng">".cpuexit.text$12ng">1269"line" name=851"""""while (> };
 };
12sref">ALL_PCI_INIT_SECTI12sre>127<"line" name=====    mod/    > };
12" class="line" name="L8712" c>1271pan>,  };
12lass="string">".pci12las>1272pan>,  };
12ref="scripts/mod/modpost12ref>1273pan>, 12             name="L903"> 90312ref">ALL_XXXINIT_SECTION12ref>1275"line" name=                 };
NUpan class="st);;s (%s): unexpected non-alloc127690112INIT_SECTIONS, 127ref="scripts/mod/    sl"e if (/a>            ="l="lne" name="L855"strstra hr( };
             name="L903"> 90312e" name="L878"> 878#12e" >127
 784{strcatcripts/mod/modp/trcata hr( };
12EXIT_SECTIONS, 1278pan>, 12e" name="L880"> 880
12e" >1279"line" name=851"""""""""""""L784"> 784{strcatcripts/mod/modp/trcata hr( };
12">ALL_INIT_SECTIONS 12">A>128<"line" name=====    return/L784"> 784{sne" name="L855"ra hr;;s (%s): unexpected non-alloc128190112/a>, 12/a>,  784{"trdupcripts/mod/modp/trdupa hr( "L897" class="line" name="pan class="st);;s (%s): unexpected non-alloc128390112TA_SECTIONS 12831" id="L851"f;s (%s): unexpected non-alloc128490112ng">".data.rel$&quo12ng">1284sectf;s (%s): unexpected non-alloc128590112od/modpost.c#L886" id="L12od/>1285"lin;s (%s): unexpected non-alloc128690112IT_SECTIONS      128ref="ass="srin2            is_funBOL_Wcripts/mod/modpis_funBOL_Wa hr( };
 784{"ymne" name="L855""ymhref)ts/mod/modpost.c#L904" id="L904" 128790112ipts/mod/modpost.c#L888"12ipt>128
12ef="scripts/mod/modpost.12ef=>1288name="L853">if (/a>            "ymne" name="L855""ymhref)ts/mod/modpost.c#L904" id="L904" 128990112ef="scripts/mod/modpost.12ef=>1289"line" name=851"""""return/L784"> 784{ELF_ST_TYPEne" name="L855"ELF_ST_TYPEa hr( };
            
t_infone" name="L855"
t_infohref),== /a>            ST
12ef="scripts/mod/modpost.12ef=>129<"line" name=sl"e;s (%s): unexpected non-alloc129190112IT_SECTIONS      1291pan>, 12ipts/mod/modpost.c#L893"12ipt>129SECTIf;s (%s): unexpected non-alloc129390112ef="scripts/mod/modpost.12ef=>1293pan>;s (%s): unexpected non-alloc129490112ef="scripts/mod/modpost.12ef=>129span>ass="srvoidf="+code=sechdr"plin__seod/mosref">warn(NULL ef">NU="+code=sechdr"ref">warn(12ef="scripts/mod/modpost.12ef=>1295"lina;s (%s): unexpected non-alloc129690112
NULLef">NU> };
warn(12static const char *12e<;s (%s): unexpected non-alloc129890112 class="sref">ALL_INIT_D12 cl>1298name="L853">while (> };
12 };
 90113> 90ref="scripts/mod/mod13> 9>130<"line" name=====     };
190113>T_SECTIONS      T_>1301pan>,  };
290113>pts/mod/modpost.c#L893"13>pt>1302pan>, 390113>f="scripts/mod/modpost.13>f=>13031" id="L851"f;s (%s): unexpected non-alloc13>490113>f="scripts/mod/modpost.13>f=>1304name="L853">i784"> 784{fplin_fne" name="L855"fplin_fa hr( };
590113>f="scripts/mod/modpost.13>f=>130 hreff;s (%s): unexpected non-alloc13>690113>790113>tatic const char *ta>130_sections" class="sref">data__LIST                               13>890113>class="sref">ALL_INIT_D13>cl>13039  Plin_ a warning about E_/mod/mo of">sect._LIST                               13>990113>a href="scripts/mod/mod13>a >130comment"> */
  Try 2f"fins"ULT_SYM near ECiso us"src> *fins"it._LIST                               131 90113fer to init/exit section13fer>131eomment"> */
  Celf<>wss="ref"6b fore warning - ECimay be a falf>,   itiv ._LIST                               131190113" class="line" name="L9113" c>131/a>#define 131SECTIass="srvoidf="+code=sechdr"repor__seo_hf">sectcripts/mod/modprepor__seo_hf">secta hr(ef">NULL };
1313pan>, NUas 842            /mod/mocelf 784{hf">sectcripts/mod/modpof">secta hr,a>                               131490113     \
NULL };
                               131590113quot;.cpuinit.rodata$&qu13quo>1315"line" name=                    iptsunsigndpSlong long  };
                               131690113 to do full section mism13 to>131ref="scripts/mod/            scripts/ef">NULL };
                               13179011318" id="L818" class="lin1318">131
                               131890113"L819" class="line" name13"L8>1318pan>, NULL };
NULL };
                               131990113span>,
            to_is_funBne" name="L855"to_is_funBhref)ts/mod/modpost.c#L904" id="L904" 132 901131        132/namea;s (%s): unexpected non-alloc132190113/a>        NULL };
 };
1322pan>, NULL };
 };
 };
13an>
LL };
13cripts/mod/modpost.c#L8213cri>1325"lin;s (%s): unexpected non-alloc132690113cripts/mod/modpost.c#L8213cri>132ref="scripts/swiect_( };
13a>                    fromne" name="L855"fromhrefeef="L897" class="line" nan clvariablepan class="st; 784{from_pcripts/mod/modpfrom_pa hreef="L897" class="line" nan clpan class="st;<  break;;s (%s): unexpected non-alloc132890113a>         784{from_pcripts/mod/modpfrom_pa hreef="L897" class="line" nan cl()pan class="st;13>                    fromne" name="L855"fromhrefeef="L897" class="line" nan cl(unknown/r  erence)pan class="st; 784{from_pcripts/mod/modpfrom_pa hreef="L897" class="line" nan clpan class="st;13>        13ef="scripts/mod/modpost.13ef=>1331pan>, 13t.c#L833" id="L833" clas13t.c>1332pan>,             tone" name="L855"tohrefeef="L897" class="line" nan clvariablepan class="st; 784{to_pcripts/mod/modpto_pa hreef="L897" class="line" nan clpan class="st;<  break;;s (%s): unexpected non-alloc133390113 784{to_pcripts/mod/modpto_pa hreef="L897" class="line" nan cl()pan class="st;13ss="line" name="L836"> 813ss=>133span>,             tone" name="L855"tohrefeef="L897" class="line" nan cl(unknown/r  erence)pan class="st; 784{to_pcripts/mod/modpto_pa hreef="L897" class="line" nan clpan class="st;13modpost.c#L837" id="L83713mod>1335"line" name=f;s (%s): unexpected non-alloc133690113 * This is used to find 13 * >13361" i;s (%s): unexpected non-alloc1337901138" class="line" name="L8138" >13371" id="L851"/a>            seo_hf">sect_countcripts/mod/modp/eo_hf">sect_counthref++;;s (%s): unexpected non-alloc133890113839" class="line" name="13839>1338name="L853">if (! };
sect_verbo"lcripts/mod/modp/eo_hf">sect_verbo"lhref)ts/mod/modpost.c#L904" id="L904" 133990113ame="L840"> 8401339"line" name=851"""""return;;s (%s): unexpected non-alloc134 90113+code=check_section" cla13+co>134<"lin;s (%s): unexpected non-alloc134190113 struct sect in r  erence from the"p#37;s"p#37;sp#37;s"pan class="st;s (%s): unexpected non-alloc134290113"scripts/mod/modpost.c#L13"sc>1342pan>, se>1343pan>,  784{from"line" name="L855"from"lihref,  };
            fromne" name="L855"fromhref, 784{from"ymne" name="L855"from"yma hr9 784{from_pcripts/mod/modpfrom_pa hr9 784{tone" name="L855"tohref,/ };
                               13+490113" class="sref">elf, 13" c>134span>,  784{to_pcripts/mod/modpto_pa hr);;s (%s): unexpected non-alloc13+590113r->13PROGBITS" class="sref">S13PRO>134ref="scripts/swiect_( };
sectcripts/mod/modpof">secta hr->/a>            hf">sectcripts/mod/modpof">secta hr)na;s (%s): unexpected non-alloc134790113de=SHF_ALLOC" class="sre13de=>13471" id="L851"case /a>            TEXT_TO_ANY_INITcripts/mod/modpTEXT_TO_ANY_INIT1" i:;s (%s): unexpected non-alloc134890113 class="sref">section_wh13 cl>1348pan>,  784{from"line" name="L855"from"lihref);;s (%s): unexpected non-alloc13+990113ion.\n"
1349"line" name=851""""" };
 784{to"line" name="L855"to"lihref);;s (%s): unexpected non-alloc135 90113a href="scripts/mod/modp13a h>135<"line" name=====     };
13d/modpost.c#L852" id="L813d/m>1351pan>, 1352pan>, mop#37;s"lacks a p#37;s\npan class="st;s (%s): unexpected non-alloc135490113856" class="line" name="13856>135span>,  8513s=">1355"line" name=        L784"> 784{prl_fromne" name="L855"prl_froma hr, 784{from"ymne" name="L855"from"yma hr9;s (%s): unexpected non-alloc135690113="line" name="L858"> 85813="l>135ref="scripts/mod/    L784"> 784{tone" name="L855"tohref,/ };
 784{to_pcripts/mod/modpto_pa hr9;s (%s): unexpected non-alloc135790113="line" name="L859"> 85913="l>135
 784{from"ymne" name="L855"from"yma hr9 784{prl_tone" name="L855"prl_toa hr,/ };
13"sref">ALL_INIT_DATA_SEC13"sr>1358pan>, 13" class="line" name="L8613" c>1359"line" name=851""""" };
13s/mod/modpost.c#L861" id13s/m>136<"line" name=====    break;;s (%s): unexpected non-alloc13s190113s="string">".memini13s=">136s="line" namecase /a>            DATA_TO_ANY_INITcripts/mod/modpDATA_TO_ANY_INIT1" i:na;s (%s): unexpected non-alloc13s290113ng">".cpuinit.data$13ng">1362pan>,  784{to"line" name="L855"to"lihref);;s (%s): unexpected non-alloc136390113" class="line" name="L8613" c>1363pan>, 13ng">".cpuexit.data$13ng">136span>, ALL_INIT_TEXT_SEC13"sr>1365"line" name=        L"L897" class="line" name="the"p#37;s"p#37;sp#37;sp#37;s\npan class="st;s (%s): unexpected non-alloc13s690113" class="line" name="L8613" c>136ref="scripts/mod/    L"L897" class="line" name="If the r  erence is valis"then"anectatteth"\npan class="st;s (%s): unexpected non-alloc13s790113ng">".cpuinit.text$13ng">136
1368pan>, ".cpuexit.text$13ng">1369"line" name=851"""""L784"> 784{from"ymne" name="L855"from"yma hr9 784{tone" name="L855"tohref,/ };
 784{to_pcripts/mod/modpto_pa hr);;s (%s): unexpected non-alloc137 90113sref">ALL_PCI_INIT_SECTI13sre>137<"line" name=====     };
warn(sectcripts/mod/modpof">secta hr->/a>            ULT_SY_wss="sref">warn(13" class="line" name="L8713" c>1371pan>, 13lass="string">".pci13las>1372pan>, 13ref="scripts/mod/modpost13ref>13731" id="L851"f;s (%s): unexpected non-alloc13749011313ref">ALL_XXXINIT_SECTION13ref>1375"line" name=         };
 784{to"line" name="L855"to"lihref);;s (%s): unexpected non-alloc137690113INIT_SECTIONS, 137ref="scripts/mod/     };
13e" name="L878"> 878#13e" >137
 880
13e" >1379"line" name=851"""""Lons" class="="line" name="and the"fix is to remove the"p#37;sanectation ofop#37;s.\npan class="st,;s (%s): unexpected non-alloc138 90113">ALL_INIT_SECTIONS 13">A>138<"line" name=====    L784"> 784{from"ymne" name="L855"from"yma hr9 784{tone" name="L855"tohref,/ };
 784{to_pcripts/mod/modpto_pa hr9 784{prl_tone" name="L855"prl_toa hr,/ };
13/a>, 13/a>, 13ng">".data.rel$&quo13ng">138span>,  784{to"line" name="L855"to"lihref);;s (%s): unexpected non-alloc138590113od/modpost.c#L886" id="L13od/>1385"line" name=         };
13IT_SECTIONS      138ref="scripts/mod/    L"L897" class="line" name="The"variableop#37;s"re erences\npan class="st;s (%s): unexpected non-alloc138790113ipts/mod/modpost.c#L888"13ipt>138
1388pan>, 1389"line" name=851"""""="L897" class="line" nan clvariable with "_ULT_* (see cpuux/_SEC.h)"or"pan class="st;s (%s): unexpected non-alloc139 90113ef="scripts/mod/modpost.13ef=>139<"line" name=====    L"L897" class="line" nan clnacteth""variable:\npan class="st,;s (%s): unexpected non-alloc139190113IT_SECTIONS      1391pan>,  784{from"ymne" name="L855"from"yma hr9 784{tone" name="L855"tohref,/ };
 784{to_pcripts/mod/modpto_pa hr);;s (%s): unexpected non-alloc139290113ipts/mod/modpost.c#L893"13ipt>1392pan>, warn(sectcripts/mod/modpof">secta hr->/a>            ULT_SY_wss="sref">warn(13ef="scripts/mod/modpost.13ef=>1393pan>, 13ef="scripts/mod/modpost.13ef=>139span>, 13ef="scripts/mod/modpost.13ef=>1395"line" name=f;s (%s): unexpected non-alloc139690113
            XXXINIT_TO_SOME_INITcripts/mod/modpXXXINIT_TO_SOME_INIT1" i:;s (%s): unexpected non-alloc139790113static const char *13971" id="L851"case /a>            XXXEXIT_TO_SOME_EXITcripts/mod/modpXXXEXIT_TO_SOME_EXIT1" i:;s (%s): unexpected non-alloc139890113 class="sref">ALL_INIT_D13 cl>1398pan>,  784{from"line" name="L855"from"lihref);;s (%s): unexpected non-alloc139990113 784{to"line" name="L855"to"lihref);;s (%s): unexpected non-alloc14> 90114> 90ref="scripts/mod/mod14> 9>140<"line" name=====     };
190114>T_SECTIONS      T_>1401pan>, pt>1402pan>, f=>1403pan>, f=>140span>, secting anectation.\npan class="st,;s (%s): unexpected non-alloc14>590114>f="scripts/mod/modpost.14>f=>1405"line" name=         };
 784{prl_fromne" name="L855"prl_froma hr, 784{from"ymne" name="L855"from"yma hr9 784{from_pcripts/mod/modpfrom_pa hr9;s (%s): unexpected non-alloc14>690114> 784{tone" name="L855"tohref,/ };
 784{to_pcripts/mod/modpto_pa hr9;s (%s): unexpected non-alloc14>790114>tatic const char *ta>140
 784{to"ymne" name="L855"to"ymhref, 784{from"ymne" name="L855"from"yma hr9 784{to"ymne" name="L855"to"ymhref);;s (%s): unexpected non-alloc14>890114>class="sref">ALL_INIT_D14>cl>1408pan>, 990114>a href="scripts/mod/mod14>a >1409"line" name=851""""" };
14fer to init/exit section14fer>141<"line" name=====    break;;s (%s): unexpected non-alloc141190114" class="line" name="L9114" c>141s="line" namecase /a>            ANY_INIT_TO_ANY_EXITcripts/mod/modpANY_INIT_TO_ANY_EXIT1" i:;s (%s): unexpected non-alloc141290114a href="scripts/mod/modp14a h>1412pan>,  784{from"line" name="L855"from"lihref);;s (%s): unexpected non-alloc141390114odpost.c#L914" id="L914"14odp>1413pan>,  784{to"line" name="L855"to"lihref);;s (%s): unexpected non-alloc141490114     \
14quot;.cpuinit.rodata$&qu14quo>1415"line" name=        L"L897" class="line" name="The"p#37;s"p#37;sp#37;sp#37;s"re erences\npan class="st;s (%s): unexpected non-alloc141690114 to do full section mism14 to>141ref="scripts/mod/    Lons" class="="line" name="a"p#37;s"p#37;sp#37;sp#37;s.\npan class="st;s (%s): unexpected non-alloc14179011418" id="L818" class="lin1418">141
1418pan>, 1419"line" name=851""""" "L897" class="line" name="us"s"funBOL_Wality in the"ULT__path.\npan class="st;s (%s): unexpected non-alloc142 901141        142<"line" name=====    L"L897" class="line" nan clThe"fix is often to remove the"p#37;sanectation of\npan class="st;s (%s): unexpected non-alloc142190114/a>        1422pan>,  784{prl_fromne" name="L855"prl_froma hr, 784{from"ymne" name="L855"from"yma hr9 784{from_pcripts/mod/modpfrom_pa hr9;s (%s): unexpected non-alloc142390114modpost.c#L824" id="L82414mod>1423pan>,  784{to_pcripts/mod/modpto_pa hr9;s (%s): unexpected non-alloc142490114an>
 784{to_pcripts/mod/modpto_pa hr);;s (%s): unexpected non-alloc142590114cripts/mod/modpost.c#L8214cri>1425"line" name=         };
14cripts/mod/modpost.c#L8214cri>142ref="scripts/mod/     };
14a>        14a>        14>         784{from"line" name="L855"from"lihref);;s (%s): unexpected non-alloc143 90114>         784{to"line" name="L855"to"lihref);;s (%s): unexpected non-alloc143190114ef="scripts/mod/modpost.14ef=>1431pan>,  784{fplin_fne" name="L855"fplin_fa hr( };
14t.c#L833" id="L833" clas14t.c>1432pan>, 1433pan>,  814ss=>143span>, 143
 8401439"line" name=851""""" };
 784{prl_fromne" name="L855"prl_froma hr, 784{from"ymne" name="L855"from"yma hr9 784{from_pcripts/mod/modpfrom_pa hr9;s (%s): unexpected non-alloc144 90114+code=check_section" cla14+co>144<"line" name=====     };
 784{to_pcripts/mod/modpto_pa hr9;s (%s): unexpected non-alloc144190114 struct  784{prl_tone" name="L855"prl_toa hr,/ };
 784{to_pcripts/mod/modpto_pa hr);;s (%s): unexpected non-alloc144290114"scripts/mod/modpost.c#L14"sc>1442pan>, 14>sec = 14" class="sref">elf, 14" c>144span>, 14r->            EXPORT_TO_INIT_EXITcripts/mod/modpEXPORT_TO_INIT_EXIT1" i:;s (%s): unexpected non-alloc144690114PROGBITS" class="sref">S14PRO>144ref="scripts/mod/     };
 784{to"line" name="L855"to"lihref);;s (%s): unexpected non-alloc144790114de=SHF_ALLOC" class="sre14de=>144
 784{fplin_fne" name="L855"fplin_fa hr( };
14 class="sref">section_wh14 cl>1448pan>, 145<"line" name=====     "L897" class="line" nan clor drop the"ULpor_.\npan class="st,;s (%s): unexpected non-alloc145190114d/modpost.c#L852" id="L814d/m>1451pan>,  784{prl_tone" name="L855"prl_toa hr,/ };
14t.c#L853" id="L853" clas14t.c>1452pan>, 14/modpost.c#L854" id="L8514/mo>1453pan>, 14856" class="line" name="14856>145span>, 14s="line" name="L857"> 8514s=">1455"line" name=L784"> 784{fplin_fne" name="L855"fplin_fa hr( };
14="line" name="L858"> 85814="l>145ref="f;s (%s): unexpected non-alloc145790114="line" name="L859"> 85914="l>145<;s (%s): unexpected non-alloc145890114"sref">ALL_INIT_DATA_SEC14"sr>1458pan>ass="srvoidf="+code=sechdr"celf<_seod/moshf">sectcripts/mod/modpcelf<_seod/moshf">secta hr(ef">NULL };
 };
14" class="line" name="L8614" c>1459"line" name=851""""""""""""""""""""""""/a>            Elf_Relacripts/mod/modpElf_Rela"line> };
            Elf_Symne" name="L855"Elf_Sym"line> };
NULL };
14s/mod/modpost.c#L861" id14s/m>146/namea;s (%s): unexpected non-alloc14s190114s="string">".memini14s=">1461pan>, NULL };
14ng">".cpuinit.data$14ng">1462pan>, NUas 842            /mod/mocelf 784{hf">sectcripts/mod/modpof">secta hr;;s (%s): unexpected non-alloc14s390114" class="line" name="L8614" c>1463pan>;s (%s): unexpected non-alloc14s490114ng">".cpuexit.data$14ng">1464name="L853">i784"> 784{to"line" name="L855"to"lihrefeef="+code=sechdr""ec_sectcripts/mod/modp"ec_secta hr( };
14"sref">ALL_INIT_TEXT_SEC14"sr>1465"line" name=L784"> 784{hf">sectcripts/mod/modpof">secta hreef="+code=sechdr""ecd/moshf">sectcripts/mod/modpseod/moshf">secta hr( };
14" class="line" name="L8614" c>146ref="scripts/if (L784"> 784{hf">sectcripts/mod/modpof">secta hr)na;s (%s): unexpected non-alloc14s790114ng">".cpuinit.text$14ng">146
 };
14" class="line" name="L8614" c>1468pan>,             Elf_Symne" name="L855"Elf_Sym"line> };
14ng">".cpuexit.text$14ng">1469"line" name=851"""""ef">NULL };
14sref">ALL_PCI_INIT_SECTI14sre>147<"line" name=====    ef">NULL };
14" class="line" name="L8714" c>1471pan>;s (%s): unexpected non-alloc147290114lass="string">".pci14las>1472pan>,             r_offse">warn( 784{from"line" name="L855"from"lihref);;s (%s): unexpected non-alloc147390114ref="scripts/mod/modpost14ref>1473pan>, 14            r_addend>warn(14ref">ALL_XXXINIT_SECTION14ref>1475"line" name=         };
14INIT_SECTIONS, 14761" i;s (%s): unexpected non-alloc147790114e" name="L878"> 878#14e" >147
/* celf< wss="ref" - weimay ignore ECi*/ass="st;s (%s): unexpected non-alloc147890114EXIT_SECTIONS, 1478pan>,  784{"li"> _wss="ref"cripts/mod/modpseo"> _wss="ref"a hr( };
sectcripts/mod/modpof">secta hr,;s (%s): unexpected non-alloc147990114e" name="L880"> 880
14e" >1479"line" name=851""""""""""""""""""""""""""""" };
 784{to"line" name="L855"to"lihref,/ };
14">ALL_INIT_SECTIONS 14">A>148<"line" name=====    """""""" };
sect>warn(secta hr( };
 784{hf">sectcripts/mod/modpof">secta hr,;s (%s): unexpected non-alloc148190114/a>,             r_offse">warn( 784{from"ymne" name="L855"from"yma hr9;s (%s): unexpected non-alloc148290114/a>,  784{to"line" name="L855"to"lihref,/ };
14TA_SECTIONS 1483pan>, 14ng">".data.rel$&quo14ng">148span>, 14od/modpost.c#L886" id="L14od/>1485"line" name=f;s (%s): unexpected non-alloc148690114IT_SECTIONS      148ref="f;s (%s): unexpected non-alloc148790114ipts/mod/modpost.c#L888"14ipt>148<;s (%s): unexpected non-alloc148890114ef="scripts/mod/modpost.14ef=>1488pan>ass="srunsigned inte> };
            elf_infone" name="L855"elf_info"line> };
14ef="scripts/mod/modpost.14ef=>1489"line" name=851"""""      """""""""""""" };
 };
            Elf_Relacripts/mod/modpElf_Rela"line> };
14ef="scripts/mod/modpost.14ef=>149/namea;s (%s): unexpected non-alloc149190114IT_SECTIONS      1491pan>,  };
            Uechdrsne" name="L855""echdrshref;;s (%s): unexpected non-alloc149290114ipts/mod/modpost.c#L893"14ipt>1492pan>,             Uh_infone" name="L855"Uh_infohref;;s (%s): unexpected non-alloc149390114ef="scripts/mod/modpost.14ef=>1493pan>;s (%s): unexpected non-alloc149490114ef="scripts/mod/modpost.14ef=>149span>,             hdrne" name="L855"hdr"line+f="+code=sechdr""echdrsne" name="L855""echdrshref[="+code=sechdr""ecd/mocripts/mod/modpseod/moa hr]./a>            Uh_offse">warn(14ef="scripts/mod/modpost.14ef=>1495"line" name=         };
            r_offse">warn(14
14static const char *149<;s (%s): unexpected non-alloc149890114 class="sref">ALL_INIT_D14 cl>1498pan>ass="srinte="+code=sechdr"addend_386_lel>warn(            elf_infone" name="L855"elf_info"line> };
 };
            Elf_Relacripts/mod/modpElf_Rela"line> };
14 90115> 90ref="scripts/mod/mod15> 9>150<"line" name=unsigned inte/a>            r_typcripts/mod/modpr_typa hreef="+code=sechdr"ELF_R_TYPEcripts/mod/modpELF_R_TYPEa hr( };
            r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc15>190115>T_SECTIONS      T_>1501pan>,  };
            lne" name="L855"rhref);;s (%s): unexpected non-alloc15>290115>pts/mod/modpost.c#L893"15>pt>1502pan>;s (%s): unexpected non-alloc15>390115>f="scripts/mod/modpost.15>f=>1503pan>, f=>150span>,             R_386_32ne" name="L855"R_386_32pan>:;s (%s): unexpected non-alloc15>590115>f="scripts/mod/modpost.15>f=>1505"line" name=         };
            r_addend>warn( };
690115>790115>tatic const char *ta>15071" id="L851"case /a>            R_386_PC32ne" name="L855"R_386_PC32pan>:;s (%s): unexpected non-alloc15>890115>class="sref">ALL_INIT_D15>cl>1508pan>,             r_addend>warn( };
990115>a href="scripts/mod/mod15>a >1509"line" name=851""""" "L897" classcomment">/* For CONFIG_RELOCATABLE=yi*/ass="st;s (%s): unexpected non-alloc151 90115fer to init/exit section15fer>151<"line" name=====    if (L784"> 784{elfne" name="L855"elfa hr->/a>            hdrne" name="L855"hdr"lin->/a>            e_typtcripts/mod/modpe_typta hreeef="+code=sechdr"ET_EXECcripts/mod/modpET_EXEChref)ts/mod/modpost.c#L904" id="L904" 151190115" class="line" name="L9115" c>1511pan>,             r_addend>warn(            r_offse">warn(15a href="scripts/mod/modp15a h>1512pan>, 15odpost.c#L914" id="L914"15odp>1513pan>, 15     \
15 to do full section mism15 to>15161" i;s (%s): unexpected non-alloc15179011518" id="L818" class="lin1518">151
            R_ARM_CALLne" name="L855"R_ARM_CALL1" i;s (%s): unexpected non-alloc151890115"L819" class="line" name15"L8>1518pan>#def="l /a>            R_ARM_CALLne" name="L855"R_ARM_CALL1" i15span>,
151        152<"lin#ifndef /a>            R_ARM_JUMPan>
15/a>                    R_ARM_JUMPan>
15 href="scripts/mod/modpo15 hr>1522pan>#endif;s (%s): unexpected non-alloc152390115modpost.c#L824" id="L82415mod>1523pan>;s (%s): unexpected non-alloc152490115an>
warn(            elf_infone" name="L855"elf_info"line> };
 };
            Elf_Relacripts/mod/modpElf_Rela"line> };
15cripts/mod/modpost.c#L8215cri>1525"lina;s (%s): unexpected non-alloc152690115cripts/mod/modpost.c#L8215cri>152ref="scripts/unsigned inte/a>            r_typcripts/mod/modpr_typa hreef="+code=sechdr"ELF_R_TYPEcripts/mod/modpELF_R_TYPEa hr( };
            r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc152790115a>         >1528pan>,   >1529"line" name=case /a>            R_ARM_ABS32ne" name="L855"R_ARM_ABS32pan>:;s (%s): unexpected non-alloc153 90115>        /* From ARM ABI: (Se+fA) | Ti*/ass="st;s (%s): unexpected non-alloc153190115ef="scripts/mod/modpost.15ef=>1531pan>,  784{lne" name="L855"rhref->/a>            r_addend>warn(15t.c#L833" id="L833" clas15t.c>1532pan>,  784{elfne" name="L855"elfa hr->/a>            symtab_assr">warn(            r_infone" name="L855"r_info"lin));;s (%s): unexpected non-alloc153390115 815ss=>153span>,             R_ARM_PCan>
:;s (%s): unexpected non-alloc153590115modpost.c#L837" id="L83715mod>1535"line" name=case /a>            R_ARM_CALLne" name="L855"R_ARM_CALL1" i:;s (%s): unexpected non-alloc153690115 * This is used to find 15 * >153ref="scripts/case /a>            R_ARM_JUMPan>
158" class="line" name="L8158" >153
/* From ARM ABI: ((Se+fA) | T) - Pi*/ass="st;s (%s): unexpected non-alloc153890115839" class="line" name="15839>1538pan>,  784{lne" name="L855"rhref->/a>            r_addend>warn( 784{elfne" name="L855"elfa hr->/a>            hdrne" name="L855"hdr"line+;s (%s): unexpected non-alloc153990115ame="L840"> 8401539"line" name=851""""" 784{"echdrne" name="L855""echdrhref->/a>            Uh_offse">warn(15+code=check_section" cla15+co>154<"line" name=====                  (L784"> 784{lne" name="L855"rhref->/a>            r_offse">warn( 784{"echdrne" name="L855""echdrhref->/a>            Uh_addrne" name="L855""h_addr"lin));;s (%s): unexpected non-alloc154190115 struct 1542pan>, 15>sec = 15" class="sref">elf, 15" c>154span>, 15r->15PROGBITS" class="sref">S15PRO>154ref="f;s (%s): unexpected non-alloc154790115de=SHF_ALLOC" class="sre15de=>154<;s (%s): unexpected non-alloc154890115 class="sref">section_wh15 cl>1548pan>ass="srinte="+code=sechdr"addend_mips_lel>warn(            elf_infone" name="L855"elf_info"line> };
 };
            Elf_Relacripts/mod/modpElf_Rela"line> };
15ion.\n"
1549"lina;s (%s): unexpected non-alloc155 90115a href="scripts/mod/modp15a h>155<"line" name=unsigned inte/a>            r_typcripts/mod/modpr_typa hreef="+code=sechdr"ELF_R_TYPEcripts/mod/modpELF_R_TYPEa hr( };
            r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc155190115d/modpost.c#L852" id="L815d/m>1551pan>,  };
            lne" name="L855"rhref);;s (%s): unexpected non-alloc155290115t.c#L853" id="L853" clas15t.c>1552pan>,             inf"cripts/mod/modpinf"a hr;;s (%s): unexpected non-alloc155390115/modpost.c#L854" id="L8515/mo>1553pan>;s (%s): unexpected non-alloc155490115856" class="line" name="15856>155span>,  784{r_typcripts/mod/modpr_typa hreeef="+code=sechdr"R_MIPS_HI to do full"L855"R_MIPS_HI thref)ts/mod/modpost.c#L904" id="L904" 155590115s="line" name="L857"> 8515s=">1555"line" name=        return 1;        "L897" classcomment">/* skip this_*/ass="st;s (%s): unexpected non-alloc155690115="line" name="L858"> 85815="l>155ref="scripts//a>            inf"cripts/mod/modpinf"a hreef="+code=sechdr"TO_NATIVEcripts/mod/modpTO_NATIVEa hr(> };
15="line" name="L859"> 85915="l>155
15"sref">ALL_INIT_DATA_SEC15"sr>1558pan>,             R_MIPS_LO to do full"L855"R_MIPS_LO t1" i:;s (%s): unexpected non-alloc155990115" class="line" name="L8615" c>1559"line" name=851""""" };
            r_addend>warn(15s/mod/modpost.c#L861" id15s/m>156<"line" name=====    break;;s (%s): unexpected non-alloc15s190115s="string">".memini15s=">156s="line" namecase /a>            R_MIPS_2to do full"L855"R_MIPS_2t1" i:;s (%s): unexpected non-alloc15s290115ng">".cpuinit.data$15ng">1562pan>,  784{lne" name="L855"rhref->/a>            r_addend>warn(15" class="line" name="L8615" c>1563pan>, 15ng">".cpuexit.data$15ng">156span>,             R_MIPS_32ne" name="L855"R_MIPS_321" i:;s (%s): unexpected non-alloc15s590115"sref">ALL_INIT_TEXT_SEC15"sr>1565"line" name=         };
            r_addend>warn(15" class="line" name="L8615" c>156ref="scripts/mod/    break;;s (%s): unexpected non-alloc15s790115ng">".cpuinit.text$15ng">156
1568pan>, 15ng">".cpuexit.text$15ng">1569"linf;s (%s): unexpected non-alloc157 90115sref">ALL_PCI_INIT_SECTI15sre>157<"lin;s (%s): unexpected non-alloc157190115" class="line" name="L8715" c>1571pan>ass="srvoidf="+code=sechdr"seod/mosrelacripts/mod/modpseod/mosrelaa hr(ef">NULL };
 };
15lass="string">".pci15las>1572pan>,  };
15ref="scripts/mod/modpost15ref>1573pan>a;s (%s): unexpected non-alloc157490115 };
15ref">ALL_XXXINIT_SECTION15ref>1575"line" name=L784"> 784{Elf_Relacripts/mod/modpElf_Rela"line> };
            Elf_Relacripts/mod/modpElf_Rela"line };
15e" name="L878"> 878#15e" >157
15EXIT_SECTIONS, 1578pan>, NULL };
15e" name="L880"> 880
15e" >1579"lin;s (%s): unexpected non-alloc158 90115">ALL_INIT_SECTIONS 15">A>158<"line" name=L784"> 784{Elf_Relacripts/mod/modpElf_Rela"line> };
warn(            hdrne" name="L855"hdr"line+f="+code=sechdr""echdrne" name="L855""echdrhref->/a>            Uh_offse">warn(15/a>,  };
warn(            Uh_siztcripts/mod/modpUh_sizt"lin;;s (%s): unexpected non-alloc158290115/a>, 15ng">".data.rel$&quo15ng">158span>, 15od/modpost.c#L886" id="L15od/>1585"line" name= "L897" classcomment">/* if from"seod/mo (" id)"is know good then skip ECi*/ass="st;s (%s): unexpected non-alloc158690115IT_SECTIONS      158ref="scripts/if (L784"> 784{hsectcripts/mod/modposecta hr( };
15ipts/mod/modpost.c#L888"15ipt>158
1588pan>;s (%s): unexpected non-alloc158990115ef="scripts/mod/modpost.15ef=>1589"line" name=for_( };
warn(15ef="scripts/mod/modpost.15ef=>159<"line" name=====     };
            r_offse">warn(            r_offse">warn(15IT_SECTIONS      1591pan>#if /a>            KERNEL_ELFCLASS>warn(
;s (%s): unexpected non-alloc159290115ipts/mod/modpost.c#L893"15ipt>1592pan>,  784{elfne" name="L855"elfa hr->/a>            hdrne" name="L855"hdr"lin->/a>            e_machpost." name="L855"e_machposa hreeef="+code=sechdr"EM_MIPS>
15ef="scripts/mod/modpost.15ef=>1593pan>,             r_typcripts/mod/modpr_typa hr;;s (%s): unexpected non-alloc159490115ef="scripts/mod/modpost.15ef=>159span>,             r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc159590115ef="scripts/mod/modpost.15ef=>1595"line" name=        ====     };
15
            r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc159790115static const char *159
            r_infone" name="L855"r_info"lineef="+code=sechdr"ELF64_R_INFOcripts/mod/modpELF64_R_INFOa hr(="+code=sechdr"l_"ymne" name="L855"r_"ymhref,            l_typcripts/mod/modpr_typa hr);;s (%s): unexpected non-alloc159890115 class="sref">ALL_INIT_D15 cl>1598pan>, 15            r_infone" name="L855"r_info"lineef="+code=sechdr"TO_NATIVEcripts/mod/modpTO_NATIVEa hr(="+code=sechdr"lelacripts/mod/modprelaa hr->/a>            r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc16> 90116> 90ref="scripts/mod/mod16> 9>160<"line" name=====    """""""" };
            r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc16>190116>T_SECTIONS      T_>1601pan>, 290116>pts/mod/modpost.c#L893"16>pt>1602pan>#else;s (%s): unexpected non-alloc16>390116>f="scripts/mod/modpost.16>f=>1603pan>,             r_infone" name="L855"r_info"lineef="+code=sechdr"TO_NATIVEcripts/mod/modpTO_NATIVEa hr(="+code=sechdr"lelacripts/mod/modprelaa hr->/a>            r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc16>490116>f="scripts/mod/modpost.16>f=>160span>,             r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc16>590116>f="scripts/mod/modpost.16>f=>1605"lin#endif;s (%s): unexpected non-alloc16>690116>            r_addend>warn(            r_addend>warn(790116>tatic const char *ta>160
            Uymtab_assr">warn(890116>class="sref">ALL_INIT_D16>cl>1608pan>, /* Skip special"seod/mos_*/ass="st;s (%s): unexpected non-alloc16>990116>a href="scripts/mod/mod16>a >1609"line" name=851"""""if (L784"> 784{is_shndx_specialne" name="L855"is_shndx_speciala hr(="+code=sechdr""ymne" name="L855""ymhref->/a>            Ut_shndxcripts/mod/modpas_shndx"lin));s (%s): unexpected non-alloc161 90116fer to init/exit section16fer>161<"line" name=====            continue;;s (%s): unexpected non-alloc161190116" class="line" name="L9116" c>1611pan>,             celf<_seod/moshf">sectcripts/mod/modpcelf<_seod/moshf">secta hr(L784"> 784{h  sectcripts/mod/modp   secta hr, 784{elfne" name="L855"elfa hr,f& };
 784{from"line" name="L855"from"lihref);;s (%s): unexpected non-alloc161290116a href="scripts/mod/modp16a h>1612pan>, 16odpost.c#L914" id="L914"16odp>1613pan>f;s (%s): unexpected non-alloc161490116     \
NULL };
 };
16 to do full section mism16 to>161ref="scripts/mod/    ====     };
 };
1618" id="L818" class="lin1618">161
16"L819" class="line" name16"L8>1618pan>,  };
16span>,
 };
 784{Elf_Relacripts/mod/modpElf_Rela"line };
16/a>        16 href="scripts/mod/modpo16 hr>1622pan>, NULL };
16modpost.c#L824" id="L82416mod>1623pan>;s (%s): unexpected non-alloc162490116an>
 };
warn(            hdrne" name="L855"hdr"line+f="+code=sechdr""echdrne" name="L855""echdrhref->/a>            Uh_offse">warn(16cripts/mod/modpost.c#L8216cri>1625"line" name=L784"> 784{Elf_Relcripts/mod/modpElf_Rel"line> };
warn(            Uh_siztcripts/mod/modpUh_sizt"lin;;s (%s): unexpected non-alloc162690116cripts/mod/modpost.c#L8216cri>16261" i;s (%s): unexpected non-alloc162790116a>         784{from"line" name="L855"from"lihrefeef="+code=sechdr""ech_sectcripts/mod/modp"ech_secta hr( };
16a>        16>        /* if from"seod/mo (" id)"is know good then skip ECi*/ass="st;s (%s): unexpected non-alloc163 90116>         784{hsectcripts/mod/modposecta hr( };
16ef="scripts/mod/modpost.16ef=>1631pan>, 16t.c#L833" id="L833" clas16t.c>1632pan>;s (%s): unexpected non-alloc163390116warn(16ss="line" name="L836"> 816ss=>163span>,             r_offse">warn(            r_offse">warn(16modpost.c#L837" id="L83716mod>1635"lin#if /a>            KERNEL_ELFCLASS>warn(
;s (%s): unexpected non-alloc163690116 * This is used to find 16 * >163ref="scripts/mod/    if (L784"> 784{elfne" name="L855"elfa hr->/a>            hdrne" name="L855"hdr"lin->/a>            e_machpost." name="L855"e_machposa hreeef="+code=sechdr"EM_MIPS>
168" class="line" name="L8168" >163
16839" class="line" name="16839>1638pan>,             r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc163990116ame="L840"> 8401639"line" name=851"""""16+code=check_section" cla16+co>164<"line" name=====            ="+code=sechdr"r_typcripts/mod/modpr_typa hreef="+code=sechdr"ELF64_MIPS_R_TYPEcripts/mod/modpELF64_MIPS_R_TYPEa hr(="+code=sechdr"lelcripts/mod/modplela hr->/a>            r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc164190116 struct             r_infone" name="L855"r_info"lineef="+code=sechdr"ELF64_R_INFOcripts/mod/modpELF64_R_INFOa hr(="+code=sechdr"l_"ymne" name="L855"r_"ymhref,            l_typcripts/mod/modpr_typa hr);;s (%s): unexpected non-alloc164290116"scripts/mod/modpost.c#L16"sc>1642pan>, 16>sec =             r_infone" name="L855"r_info"lineef="+code=sechdr"TO_NATIVEcripts/mod/modpTO_NATIVEa hr(="+code=sechdr"lelcripts/mod/modplela hr->/a>            r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc164490116" class="sref">elf, 16" c>164span>,             r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc16+590116r->16PROGBITS" class="sref">S16PRO>164ref="#else;s (%s): unexpected non-alloc164790116de=SHF_ALLOC" class="sre16de=>164
            r_infone" name="L855"r_info"lineef="+code=sechdr"TO_NATIVEcripts/mod/modpTO_NATIVEa hr(="+code=sechdr"lelcripts/mod/modplela hr->/a>            r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc164890116 class="sref">section_wh16 cl>1648pan>,  784{l_"ymne" name="L855"r_"ymhrefeef="+code=sechdr"ELF_R_SYMcripts/mod/modpELF_R_SYMa hr( };
            r_infone" name="L855"r_info"lin);;s (%s): unexpected non-alloc16+990116ion.\n"
1649"lin#endif;s (%s): unexpected non-alloc165 90116a href="scripts/mod/modp16a h>165<"line" name=====     };
            r_addend>warn(16d/modpost.c#L852" id="L816d/m>1651pan>,             hdrne" name="L855"hdr"lin->/a>            e_machpost." name="L855"e_machposa hr)na;s (%s): unexpected non-alloc165290116t.c#L853" id="L853" clas16t.c>1652pan>,             EM_38to do full"L855"EM_38tpan>:;s (%s): unexpected non-alloc165390116/modpost.c#L854" id="L8516/mo>1653pan>,  784{addend_386_lel>warn(16856" class="line" name="16856>165span>, 16s="line" name="L857"> 8516s=">1655"line" name=                break;;s (%s): unexpected non-alloc165690116="line" name="L858"> 85816="l>165ref="scripts/mod/    case /a>            EM_ARMcripts/mod/modpEM_ARMpan>:;s (%s): unexpected non-alloc165790116="line" name="L859"> 85916="l>165
 784{addend_arm_lel>warn(16"sref">ALL_INIT_DATA_SEC16"sr>1658pan>, 16" class="line" name="L8616" c>1659"line" name=851"""""        break;;s (%s): unexpected non-alloc166 90116s/mod/modpost.c#L861" id16s/m>166<"line" name=====    case /a>            EM_MIPS>
16s="string">".memini16s=">1661pan>,  784{addend_mips_lel>warn(16ng">".cpuinit.data$16ng">1662pan>, 16" class="line" name="L8616" c>1663pan>, 16ng">".cpuexit.data$16ng">166span>, 16"sref">ALL_INIT_TEXT_SEC16"sr>1665"line" name=         };
            Uymtab_assr">warn(16" class="line" name="L8616" c>166ref="scripts/mod/     "L897" classcomment">/* Skip special"seod/mos_*/ass="st;s (%s): unexpected non-alloc16s790116ng">".cpuinit.text$16ng">166
 784{is_shndx_specialne" name="L855"is_shndx_speciala hr(="+code=sechdr""ymne" name="L855""ymhref->/a>            Ut_shndxcripts/mod/modpas_shndx"lin));s (%s): unexpected non-alloc16s890116" class="line" name="L8616" c>1668pan>, 16ng">".cpuexit.text$16ng">1669"line" name=851""""" };
sectcripts/mod/modpcelf<_seod/moshf">secta hr(L784"> 784{h  sectcripts/mod/modp   secta hr, 784{elfne" name="L855"elfa hr,f& };
 784{from"line" name="L855"from"lihref);;s (%s): unexpected non-alloc167 90116sref">ALL_PCI_INIT_SECTI16sre>167<"line" name=f;s (%s): unexpected non-alloc167190116" class="line" name="L8716" c>1671pan>f;s (%s): unexpected non-alloc167290116lass="string">".pci16las>1672pan>;s (%s): unexpected non-alloc167390116ref="scripts/mod/modpost16ref>1673pan> "L897" classcomment">/**ass="st;s (%s): unexpected non-alloc167490116 * A d nule includes a number of"seod/mos_that are discardedass="st;s (%s): unexpected non-alloc167590116ref">ALL_XXXINIT_SECTION16ref>1675"lin "L897" classcomment"> * either when loaded or when used as built-in.ass="st;s (%s): unexpected non-alloc167690116INIT_SECTIONS, 167ref=" "L897" classcomment"> * For loaded d nules all funod/mos_marked __init and all dataass="st;s (%s): unexpected non-alloc167790116e" name="L878"> 878#16e" >167
 * marked __initdata will be discarded when the d nule has been initialized.ass="st;s (%s): unexpected non-alloc167890116EXIT_SECTIONS, 1678pan> "L897" classcomment"> * Likewise for_d nules used built-in the seod/mos_marked __exitass="st;s (%s): unexpected non-alloc167990116e" name="L880"> 880
16e" >1679"lin "L897" classcomment"> * are discarded because __exit_marked funod/mo are supon-ed to be calledass="st;s (%s): unexpected non-alloc168 90116">ALL_INIT_SECTIONS 16">A>168<"lin "L897" classcomment"> * only when a d nule is unloaded which never happeos_for_built-in d nules.ass="st;s (%s): unexpected non-alloc168190116/a>,  * The celf<_seo_lef() funod/mo traverses all lelocation lecordsass="st;s (%s): unexpected non-alloc168290116/a>,  * to find all #37erences to a"seod/mo that #37erence a"seod/mo that willass="st;s (%s): unexpected non-alloc168390116TA_SECTIONS 1683pan> "L897" classcomment"> * be discarded and waros_about it.ass="st;s (%s): unexpected non-alloc168490116ng">".data.rel$&quo16ng">168span> "L897" classcomment"> **/ass="st;s (%s): unexpected non-alloc168590116od/modpost.c#L886" id="L16od/>1685"linass="srvoidf="+code=sechdr"celf<_seo_lefcripts/mod/modpcelf<_seo_lefa hr(as 842            d nulecripts/mod/modp   ule"line> };
NULL };
            elf_infone" name="L855"elf_info"line> };
16ipts/mod/modpost.c#L888"16ipt>168
16ef="scripts/mod/modpost.16ef=>1688pan>,             ine" name="L855"ihref;;s (%s): unexpected non-alloc168990116ef="scripts/mod/modpost.16ef=>1689pan>,  };
            Uechdrsne" name="L855""echdrshref;;s (%s): unexpected non-alloc169 90116ef="scripts/mod/modpost.16ef=>169<"lin;s (%s): unexpected non-alloc169190116IT_SECTIONS      1691pan>, /* Walk through all seod/mos_*/ass="st;s (%s): unexpected non-alloc169290116ipts/mod/modpost.c#L893"16ipt>1692pan>,             ine" name="L855"ihrefe<  };
            num_seod/mosne" name="L855"num_seod/moshref;e/a>            ine" name="L855"ihref++)na;s (%s): unexpected non-alloc169390116ef="scripts/mod/modpost.16ef=>1693pan>,  784{h  sectcripts/mod/modp   secta hr, 784{elfne" name="L855"elfa hr,f& };
            Uechdrsne" name="L855""echdrshref[/a>            ine" name="L855"ihref]);;s (%s): unexpected non-alloc169490116ef="scripts/mod/modpost.16ef=>169span>, /* We wanteto process only lelocation seod/mos_and not .init */ass="st;s (%s): unexpected non-alloc169590116ef="scripts/mod/modpost.16ef=>1695"line" name=        if (L784"> 784{Uechdrsne" name="L855""echdrshref[/a>            ine" name="L855"ihref]./a>            sh_typtcripts/mod/modpUh_typthrefeeef="+code=sechdr"SHT_RELAcripts/mod/modpSHT_RELAa hr);s (%s): unexpected non-alloc169690116
 784{h  sectcripts/mod/modp   secta hr, 784{elfne" name="L855"elfa hr,f& };
            Uechdrsne" name="L855""echdrshref[/a>            ine" name="L855"ihref]);;s (%s): unexpected non-alloc169790116static const char *169
 784{Uechdrsne" name="L855""echdrshref[/a>            ine" name="L855"ihref]./a>            sh_typtcripts/mod/modpUh_typthrefeeef="+code=sechdr"SHT_RELcripts/mod/modpSHT_RELa hr);s (%s): unexpected non-alloc169890116 class="sref">ALL_INIT_D16 cl>1698pan>,  784{h  sectcripts/mod/modp   secta hr, 784{elfne" name="L855"elfa hr,f& };
            Uechdrsne" name="L855""echdrshref[/a>            ine" name="L855"ihref]);;s (%s): unexpected non-alloc169990116 90117> 90ref="scripts/mod/mod17> 9>170<"linf;s (%s): unexpected non-alloc17>190117>T_SECTIONS      T_>1701pan>;s (%s): unexpected non-alloc17>290117>pts/mod/modpost.c#L893"17>pt>1702pan>ass="srvoidf="+code=sechdr"read_"ymbolsne" name="L855"read_"ymbolsa hr(LL };
f=>1703pan>a;s (%s): unexpected non-alloc17>490117>f="scripts/mod/modpost.17>f=>170span>, NULL };
590117>f="scripts/mod/modpost.17>f=>1705"line" name=LL };
170ref="scripts/LL };
            d nulecripts/mod/modp   ule"line> };
ALL_INIT_D17>cl>1708pan>,             elf_infone" name="L855"elf_info"line/a>            infone" name="L855"info"lineef{ };;s (%s): unexpected non-alloc17>990117>a href="scripts/mod/mod17>a >1709pan>,  };
17fer to init/exit section17fer>171<"lin;s (%s): unexpected non-alloc171190117" class="line" name="L9117" c>1711pan>,  784{   sectcripts/mod/modp   secta hr));s (%s): unexpected non-alloc171290117a href="scripts/mod/modp17a h>1712pan>, 17odpost.c#L914" id="L914"17odp>1713pan>;s (%s): unexpected non-alloc171490117     \
 784{h  sectcripts/mod/modp   secta hr);;s (%s): unexpected non-alloc171590117quot;.cpuinit.rodata$&qu17quo>1715"lin;s (%s): unexpected non-alloc171690117 to do full section mism17 to>171ref="scripts/ "L897" classcomment">/* When there's no vm seux, don't printewaroings_aboutass="st;s (%s): unexpected non-alloc17179011718" id="L818" class="lin1718">171
         * unresolved "ymbols (since there'll be too many ;) */ass="st;s (%s): unexpected non-alloc171890117"L819" class="line" name17"L8>1718pan>,  784{is_vm seuxne" name="L855"is_vm seuxa hr(L784"> 784{h  sectcripts/mod/modp   secta hr))na;s (%s): unexpected non-alloc171990117span>,
171        172<"line" name=====     };
>1721pan>, 17 href="scripts/mod/modpo17 hr>1722pan>;s (%s): unexpected non-alloc172390117modpost.c#L824" id="L82417mod>1723pan>,  784{infone" name="L855"info"lin./a>            d ninfone" name="L855"d ninfoa hr, 784{infone" name="L855"info"lin./a>            d ninfo_leocripts/mod/modpd ninfo_leoa hr,17an>
 784{infone" name="L855"info"lin./a>            d ninfone" name="L855"d ninfoa hrf&& ! };
 784{h  sectcripts/mod/modp   secta hr));s (%s): unexpected non-alloc172159011cripts/mod/modpost.c#L8217n-all618"line" name=         };
17 ripts/mod/modpost.c#L82167ri>1672ef="scripts/mod/    ====  7L897" class="line" name="lse includes/seuxa/ nulea.hfor_(an class="st)s (%s): unexpected non-alloc1721901171>         784{   sectcripts/mod/modp   secta hr));s (%s): unexpected non-alloc172490117">         784{iicenstcripts/mod/modplicensthrefena;s (%s): unexpected non-alloc1719901167         784{iicensth_s_vgpl_ommptiobecripts/mod/modpnicensth_s_vgpl_ommptiobec hr(L784"> 784{hicenstcripts/mod/modplicensthrefen;s (%s): unexpected non-alloc172 901167                    Ugpl_ommptiobecripts/mod/modpngpl_ommptiobec hr(ef1;;s (%s): unexpected non-alloc1721901167f="scripts/mod/modpost.167f=>1671pan>, 167.c#L833" id="L833" clas167.c>1673pan>,             Ugpl_ommptiobecripts/mod/modpngpl_ommptiobec hr(ef1;;s (%s): unexpected non-alloc1673901167a href="scripts/mod/mod167a >1673pan>, 167s="line" name="L836"> 8167s=>167span>, 167odpost.c#L837" id="L837167od>1673"line" name=         };
 784{infone" name="L855"info"lin./a>            d ninfone" name="L855"d ninfoa hr, 784{infone" name="L855"info"lin./a>            d ninfo_leocripts/mod/modpd ninfo_leoa hr,17 * This is used to find 167* >167ref="scripts/mod/    iiiiiiiiiiiiiiiiiiiiiiiiiiii"L897" class="line" name="licenstpan class="st) 784{iicenstcripts/mod/modplicensthrefen;s (%s): unexpected non-alloc1674901171" class="line" name="L8167" >167
 8401673"line" name=for_( };
            dymtab_assr">warn(            dymtab_asspcripts/mod/modpasmtab_asspcline  };
167code=check_section" cla167co>167<"line" name=====     };
            dytrab_ripts/mod/modp"ytrab_ref;ef="+code=sechdr""emne" name="L855""ymhref->/a>            Ut_sectcripts/mod/modp"ytsecta hr(;s (%s): unexpected non-alloc1671901167struct  784{h  sripts/mod/modp   href-f& };
 784{ ymne" name="L855""ymhref, 784{fymsectcripts/mod/modp"ymsecthref;n;s (%s): unexpected non-alloc1673901167sec =  784{h  sripts/mod/modp   href-f& };
 784{ ymne" name="L855""ymhref, 784{fymsectcripts/mod/modp"ymsecthref;n;s (%s): unexpected non-alloc1673901167 class="sref">elf, 167 c>167span>, 167-> 784{h  sectcripts/mod/modp   secta hr)) ||s (%s): unexpected non-alloc172590117 ROGBITS" class="sref">S167RO>1674ef="scripts/mod/  L784"> 784{is_vm seuxne" name="L855"is_vm seuxa hr(L784"> 784{h  sectcripts/mod/modp   secta hr))&& !};
            relf<_seo_lefcripts/mod/modpcelf<_seo_lefa hr(a784"> 784{h  sripts/mod/modp   href-f&784"> 784{h  sectcripts/mod/modp   secta hr)f& };
17"class="sref">section_wh167cl>1674pan>;s (%s): unexpected non-alloc1579901167on.\n"
1674pan>,  784{infone" name="L855"info"lin./a>            d ninfone" name="L855"d ninfoa hr, 784{infone" name="L855"info"lin./a>            d ninfo_leocripts/mod/modpd ninfo_leoa hr,167 href="scripts/mod/modp167 h>1675"line" name=if (L784"> 784{hers/mocripts/mod/modpvers/mohref;;s (%s): unexpected non-alloc1721901167/modpost.c#L852" id="L8167/m>1671pan>,             d aybe_frob_rc_vmrs/mocripts/mod/modpv aybe_frob_rc_vmrs/moc hr(L784"> 784{h  sectcripts/mod/modp   secta hr) 784{iers/mocripts/mod/modpvers/mohref; 784{infone" name="L855"info"lin./a>            d ninfo_e" name="L855"d ninfoa hr,167.c#L853" id="L853" clas167.c>1672pan>,             ddrne" name="L855"hdr"lin-;;s (%s): unexpected non-alloc172 901167modpost.c#L854" id="L85167mo>1673pan>,  784{hers/mocripts/mod/modpvers/mohref; ||(L784"> 784{adll_ers/mohne" name="L855"rdll_ers/mohnrefe&& ! };
 784{h  sectcripts/mod/modp   secta hr));;s (%s): unexpected non-alloc172190116756" class="line" name="16756>167span>,  784{h  sectcripts/mod/modp   secta hr) 784{i  cripts/mod/modp   href->/a>            Ukrcmrs/mocripts/mod/modpvkrcmrs/moc hr,167="line" name="L857"> 85167=">1675"line" name=                bbbbbbbbbizt"ofa784"> 784{h  sripts/mod/modp   href->/a>            Ukrcmrs/mocripts/mod/modpvkrcmrs/moc hr,)-1;;s (%s): unexpected non-alloc172 90117 "line" name="L858"> 858167"l>16751" i;s (%s): unexpected non-alloc1677901167"line" name="L859"> 859167"l>1675"line" name=L784"> 784{farse_elfa_finiscripts/mod/modpcarse_elfa_finisc hr(Lamp; };
167sref">ALL_INIT_DATA_SEC167sr>1675pan>;s (%s): unexpected non-alloc1579901167 class="line" name="L86167 c>1675"line" name= "L897" classcomment">/* iOur linckto pet_ mrs/mocncg or_d nulesas 8421676"lin "L897" classcomment"> **********never hplasd as ba areguent"to a"n exportd funod/mo , soss="st)s (%s): unexpected non-alloc172 901167="string">".memini167=">1676pan> "L897" classcomment"> **********nhe sautom="srvors/mocncg does't prncktit up, bt it.#39;s nredllyss="st)s (%s): unexpected non-alloc172 901167g">".cpuinit.data$167g">1676pan> "L897" classcomment"> **********nimportntetanyhow*/ass="st;s (%s): unexpected non-alloc1713901167 class="line" name="L86167 c>1676pan>,  784{h niers/mohne" name="L855"r niers/mohn hr(;s (%s): unexpected non-alloc1724901167g">".cpuexit.data$167g">167span>,  784{h  sripts/mod/modp   href->/a>            Unresoripts/mod/modp nresoref;ef="+code=sechdr"gdlloc"ymbolse" name="L855"rdlloc"ymbols hr(L7L897" class="line" name="l noles_layoutan class="st) 784{i  cripts/mod/modp   href->/a>            Unresoripts/mod/modp nresoref;n;s (%s): unexpected non-alloc1675901167sref">ALL_INIT_TEXT_SEC167sr>1675"line;s (%s): unexpected non-alloc1726901167 class="line" name="L86167 c>16761" i;s (%s): unexpected non-alloc1677901167g">".cpuinit.text$167g">167
            ESZripts/mod/modp SZref;e500s (%s): unexpected non-alloc1677901167 class="line" name="L86167 c>1676pan>;s (%s): unexpected non-alloc1579901167g">".cpuexit.text$167g">1676"lin "L897" classcomment"> * We wfirst writ therpetneratd fuie inco amemory uincg herss="st;s (%s): unexpected non-alloc171 901167ref">ALL_PCI_INIT_SECTI167re>1677"lin "L897" classcomment"> * ofollowncg helper,then sommptr tootherpuie iondisckand ss="st;s (%s): unexpected non-alloc171 901167 class="line" name="L87167 c>1677pan> "L897" classcomment"> * Tnly lupdat therplat r f (anythncg L".pci167as>1672pan>;s (%s): unexpected non-alloc1673901167ef="scripts/mod/modpost167ef>1673pan> oidf="+code=sechdr"r__atlinbt e__ripts/mod/modp __atlinbt e__ hr(L };
 784{hrintene" name="L855"painten hr)            ebuffene" name="L855"hbuffenref;e };
167a href="scripts/mod/mod167a >1677pan>, NULL };
ALL_XXXINIT_SECTION167ef>1675"lin ;s (%s): unexpected non-alloc1676901167NIT_SECTIONS, 1677ef="scripts/LL};
            iSZripts/mod/modp SZref;];s (%s): unexpected non-alloc1677901167" name="L878"> 878#167" >1677"line" name=Lnte/a>            ieocripts/mod/modpdeoa hr,;s (%s): unexpected non-alloc1677901167XIT_SECTIONS, 1677pan>, , "+code=sechdr"gdcripts/mod/modpaaa hr;;s (%s): unexpected non-alloc1679901167" name="L880"> 880
167" >1679"lin s (%s): unexpected non-alloc167 901167>ALL_INIT_SECTIONS 167>A>1678"line" name=L784"> 784{Evarssr">warn( hr(L784"> 784{hdcripts/mod/modpaaa hr; 784{frmiripts/mod/modp rmt hr)n;s (%s): unexpected non-alloc1671901167a>,  784{Eeocripts/mod/modpdeoa hr,ef="+code=sechdr"gvsnrintene" name="L855"pvsnrinten hr(L784"> 784{htmcripts/mod/modpatmcf="s 784{fSZripts/mod/modp SZref; 784{frmiripts/mod/modp rmt hr) 784{fdcripts/mod/modpaaa hr;n;s (%s): unexpected non-alloc1671901167a>,  784{Ebuf_writ e" name="L855"pbuf_writ  hr(L784"> 784{hbufe" name="L855"hbuf hr,<>};
 784{iiocripts/mod/modpdeoa hr,n;s (%s): unexpected non-alloc1671901167A_SECTIONS 1678pan>,  784{hdcripts/mod/modpaaa hr;n;s (%s): unexpected non-alloc1671901167g">".data.rel$&quo167g">167span> ;s (%s): unexpected non-alloc1725901167d/modpost.c#L886" id="L167d/>1678"lin;s (%s): unexpected non-alloc1716901167T_SECTIONS      167ref="soidf="+code=sechdr"rbuf_writ e" name="L855"pbuf_writ  hr(Ls 842            ebuffene" name="L855"hbuffenref;e };
NULL };
            ieocripts/mod/modpdeoa hr,;s (%s): unexpected non-alloc1727901167pts/mod/modpost.c#L888"167pt>167
167f="scripts/mod/modpost.167f=>1678pan>,  784{ibufe" name="L855"hbuf hr,>/a>            Ukztcripts/mod/modpUhzt"lin; -/a>            ebufe" name="L855"hbuf hr,>/a>            Un-ae" name="L855"paonrefe&at;  };
1678"line" name=851""""" };
            Ukztcripts/mod/modpUhzt"lin; ef="+code=sechdr"aeocripts/mod/modpdeoa hr,ef="+code=sechdr""SZripts/mod/modp SZref;;s (%s): unexpected non-alloc167 901167f="scripts/mod/modpost.167f=>1679"line" name=====     };
            Une" name="L855"pa hr,ef="+code=sechdr"gredllone" name="L855"fredllon hr(L784"> 784{hbufe" name="L855"hbuf hr,>/a>            Une" name="L855"pa hr, 784{ibufe" name="L855"hbuf hr,>/a>            Ukztcripts/mod/modpUhzt"lin;n;s (%s): unexpected non-alloc1671901167T_SECTIONS      1679pan>, 167pts/mod/modpost.c#L893"167pt>16792line" name=L784"> 784{Es 8ncpyripts/mod/modpUh 8ncpy hr(L784"> 784{hbufe" name="L855"hbuf hr,>/a>            Une" name="L855"pa hr,ef="+code=sechdr""bufe" name="L855"hbuf hr,>/a>            Un-ae" name="L855"paonrefe 784{fyripts/mod/modpvk hr, 784{iiocripts/mod/modpdeoa hr,n;s (%s): unexpected non-alloc1673901167f="scripts/mod/modpost.167f=>1679pan>,             Un-ae" name="L855"paonrefe&ef="+code=sechdr"aeocripts/mod/modpdeoa hr,;s (%s): unexpected non-alloc1673901167f="scripts/mod/modpost.167f=>1679pan> ;s (%s): unexpected non-alloc1725901167f="scripts/mod/modpost.167f=>1679"lin;s (%s): unexpected non-alloc1716901167            elxportripts/mod/modpUlxportan>, "+code=sechdr"glxpripts/mod/modpUlxp hr,NULL };
NULL };
167tatic const char *1679167class="sref">ALL_INIT_D167cl>1678pan>, NULL };
 784{h e" name="L855""m hr,) ?7L897" class="line" name="lan class="st):7L897" class="line" name="l.koan class="st);s (%s): unexpected non-alloc1673901167a href="scripts/mod/mod167a >1679"lin s (%s): unexpected non-alloc168 901178 90ref="scripts/mod/mod178 9>1780"line" name==wiect_( };
1780pan>, 178f="scripts/mod/modpost.178f=>1780pan>,  784{  e" name="L855""m hr, 784{fyripts/mod/modpvk hr,n;s (%s): unexpected non-alloc1684901178f="scripts/mod/modpost.178f=>1780pan>, 178f="scripts/mod/modpost.178f=>1785"line" name=LLse /a>            Elxportvunsed vgplripts/mod/modpUlxportvunsed vgplan>,;s (%s): unexpected non-alloc1682601178fa href="scripts/mod/mo1681780ef="scripts/mod/    i};
178fatic const char *1780 784{  e" name="L855""m hr, 784{fyripts/mod/modpvk hr,n;s (%s): unexpected non-alloc1684801178flass="sref">ALL_INIT_D168cl>1780pan>, 178f href="scripts/mod/mod168a >1789pan>,             Elxportvgpl_futurcripts/mod/modpUhxportvgpl_futurcan>,;s (%s): unexpected non-alloc168 901178er to init/exit section178er>1781"line" name=====     };
178 class="line" name="L91178 c>1781pan>,  784{  e" name="L855""m hr, 784{fyripts/mod/modpvk hr,n;s (%s): unexpected non-alloc1682901178 href="scripts/mod/modp178 h>1782pan>, 178dpost.c#L914" id="L914"178dp>17813an>,             Elxportvplaiiripts/mod/modp lxportvplaiian>,;s (%s): unexpected non-alloc168 901178    \
            Elxportvunknowiripts/mod/modp lxportvunknowian>,;s (%s): unexpected non-alloc168 601178to do full section mism178to>1781ef="scripts/mod/    i}L897" classcomment"> * Wignnr i/ass="st;s (%s): unexpected non-alloc17879011788" id="L818" class="lin1788">17811788pan>, 178pan>,
178        1782"lin;s (%s): unexpected non-alloc1781901178a>                    elxportripts/mod/modpUlxportan>, "+code=sechdr"glxpripts/mod/modpUlxp hr,NULL };
NULL };
178href="scripts/mod/modpo178hr>1782pan>;;s (%s): unexpected non-alloc1683901178odpost.c#L824" id="L824178od>1783pan>, NULL };
 784{h e" name="L855""m hr,) ?7L897" class="line" name="lan class="st):7L897" class="line" name="l.koan class="st);s (%s): unexpected non-alloc1683901178n>
            Elxportvunsed ripts/mod/modpUlxportvunsed an>,;s (%s): unexpected non-alloc1681901178>                    Elxportvunsed vgplripts/mod/modpUlxportvunsed vgplan>,;s (%s): unexpected non-alloc1684901178>        168         784{  e" name="L855""m hr, 784{fyripts/mod/modpvk hr,n;s (%s): unexpected non-alloc168 901168        168f="scripts/mod/modpost.168f=>1681pan>, 168.c#L833" id="L833" clas168.c>1683pan>,  * Wignnr i/ass="st;s (%s): unexpected non-alloc1783901168a href="scripts/mod/mod168a >1683pan>, 178s="line" name="L836"> 8168s=>1683pan>, 168odpost.c#L837" id="L837168od>1683"line;s (%s): unexpected non-alloc1785901178* This is used to find 168* >16831" i;s (%s): unexpected non-alloc1684901178" class="line" name="L8168" >168
            emnulecripts/mod/modp   ule"line> };
 8401683"line" name=fs 842            eymbolse" name="L855"rymbols hr(> };
168code=check_section" cla168co>1684"lin;s (%s): unexpected non-alloc1781901168struct             Unresoripts/mod/modp nresoref;  };
            nuextripts/mod/modpUuext hr,;a;s (%s): unexpected non-alloc1682901168scripts/mod/modpost.c#L168sc>1682pan>, NULL };
168sec =  784{hsripts/mod/modpvk hr,>/a>            nuctcripts/mod/modp ecthref;n;s (%s): unexpected non-alloc1683901168 class="sref">elf, 168 c>1684pan>,             nmnulecripts/mod/modp   ule"line>ef="+code=sechdr"S  cripts/mod/modp   href;;s (%s): unexpected non-alloc1785901168->teuxe;s (%s): unexpected non-alloc1683901178ROGBITS" class="sref">S168RO>1684ef="scripts/mod/  ""e};
 784{h  cripts/mod/modp   href;>/a>            Uuctcripts/mod/modp ecthref; 784{ibse ectcripts/mod/modp bse ectc hr,;s (%s): unexpected non-alloc1785901178class="sref">section_wh168cl>1684pan>, 168 href="scripts/mod/modp168 h>1685"line" name=====            ="+code=sechdr"rbse ectcripts/mod/modp bse ectc hr,ef="+code=sechdr"e  cripts/mod/modp   href;>/a>            Uuctcripts/mod/modp ecthref;;s (%s): unexpected non-alloc1781901168/modpost.c#L852" id="L8168/m>1681pan>, 1682pan>,  784{ibse ectcripts/mod/modp bse ectc hr,            nuctcripts/mod/modp ecthref;n;s (%s): unexpected non-alloc168 901168modpost.c#L854" id="L85168mo>1685pan>,             nlxportripts/mod/modpUlxportan>, 784{ibse ectcripts/mod/modp bse ectc hr,            nuctcripts/mod/modp ecthref;n;s (%s): unexpected non-alloc168 90116856" class="line" name="16856>1685pan>, 168="line" name="L857"> 85168=">1685"line;s (%s): unexpected non-alloc178 901178"line" name="L858"> 858168"l>16851" i;s (%s): unexpected non-alloc1687901168"line" name="L859"> 859168"l>1685 /**ss="st;s (%s): unexpected non-alloc1788901168sref">ALL_INIT_DATA_SEC168sr>1685pan>;"L897" classcomment"> * THeader or_(herpetneratd fuie ss="st;s (%s): unexpected non-alloc1788901168 class="line" name="L86168 c>1685"lin "L897" classcomment">  */ass="st;s (%s): unexpected non-alloc178 901168/mod/modpost.c#L861" id168/m>1686"lin ss="srvoidf="+code=sechdr"cadd_headerripts/mod/modp add_header hr(Ls 842            ebuffene" name="L855"hbuffenref;e };
            emnulecripts/mod/modp   ule"line> };
".memini168=">1686pan> ;s (%s): unexpected non-alloc168 901168g">".cpuinit.data$168g">16862line" name=L784"> 784{Ebuf_rintene" name="L855"pbuf_rinten hr(L};
168 class="line" name="L86168 c>1686pan>, 168g">".cpuexit.data$168g">168span>, 168sref">ALL_INIT_TEXT_SEC168sr>16865an>, 178 class="line" name="L86168 c>16866an>, 168g">".cpuinit.text$168g">1686"line" name=L784"> 784{fbuf_rintene" name="L855"pbuf_rinten hr(L};
168 class="line" name="L86168 c>1686pan>, 168g">".cpuexit.text$168g">1686pan>, 168ref">ALL_PCI_INIT_SECTI168re>1687"line" name=L784"> 784{Ebuf_rintene" name="L855"pbuf_rinten hr(L};
168 class="line" name="L87168 c>1687pan>, ".pci168as>1687pan>, 168ef="scripts/mod/modpost168ef>1687pan>,  784{h niripts/mod/modp   href;>/a>            Uhas_cleanupripts/mod/modpUhas_cleanupref;;s (%s): unexpected non-alloc1782901168a href="scripts/mod/mod168a >1687pan>, 168ef">ALL_XXXINIT_SECTION168ef>1687"line" name=                bbbbbbb7L897" class="line" name="l\t.exit== cleanup_ nules,\han class="st)s (%s): unexpected non-alloc1782901178NIT_SECTIONS, 1687ef="scripts/mod/  ""e       bbbbbbb7L897" class="line" name="l#endif\han class="st);;s (%s): unexpected non-alloc178 901168" name="L878"> 878#168" >1687"line" name=L784"> 784{fbuf_rintene" name="L855"pbuf_rinten hr(L};
168XIT_SECTIONS, 1687pan>, 168" name="L880"> 880
168" >1687"line;s (%s): unexpected non-alloc178 901168>ALL_INIT_SECTIONS 168>A>1688"lin;s (%s): unexpected non-alloc1781901168a>,             ebuffene" name="L855"hbuffenref;e };
            iis_ntereee" name="L855"his_ntereeref;;s (%s): unexpected non-alloc1781901168a>,  784{his_ntereee" name="L855"his_ntereeref;;s (%s): unexpected non-alloc1781901168g">".data.rel$&quo168g">1688pan>, 168d/modpost.c#L886" id="L168d/>1688"line;s (%s): unexpected non-alloc1786901168T_SECTIONS      16881" i;s (%s): unexpected non-alloc1687901168pts/mod/modpost.c#L888"168pt>1688            ebuffene" name="L855"hbuffenref;e };
NULL };
168f="scripts/mod/modpost.168f=>1688pan>;;s (%s): unexpected non-alloc1689901168f="scripts/mod/modpost.168f=>1688"line" name=fs ="srvf">NULL };
1689"lin;s (%s): unexpected non-alloc1781901168T_SECTIONS      1689pan>,  784{hss=gne"_dine" name="L855"hst=gne"_din hr, 784{hss=gne"_dine" name="L855"hst=gne"_din hr,;;=== 0ns (%s): unexpected non-alloc1682901168pts/mod/modpost.c#L893"168pt>1689pan>, 1689pan>,;s (%s): unexpected non-alloc1783901168f="scripts/mod/modpost.168f=>1689pan>,s (%s): unexpected non-alloc1685901168f="scripts/mod/modpost.168f=>1689"lin;"L897" classcomment"> /**ss="st;s (%s): unexpected non-alloc1786901168 * TRecord CRCs or_(nresoolvedaymbols ss="st)s (%s): unexpected non-alloc1787901168tatic const char *1689  */ass="st;s (%s): unexpected non-alloc1788901168class="sref">ALL_INIT_D168cl>1688pan>,s ="srvnte/a>            iadd_ers/mohne" name="L855"rddd_ers/mohn hr(Ls 842            ebuffene" name="L855"hbuffenref;e };
            emnulecripts/mod/modp   ule"line> };
1689"lin ;s (%s): unexpected non-alloc169 901179 90ref="scripts/mod/mod179 9>1790"line" name==w 842            eymbolse" name="L855"rymbols hr(> };
179T_SECTIONS      1790pan>,             ierne" name="L855"hern hr,ef=0;s (%s): unexpected non-alloc1691201179Tts/mod/modpost.c#L893"169pt>1790pan>;s (%s): unexpected non-alloc1693901179f="scripts/mod/modpost.179f=>1790pan>,             Unresoripts/mod/modp nresoref;  };
    href="sc"uextripts/mod/modpUuext hr,;a;s (%s): unexpected non-alloc1694901179f="scripts/mod/modpost.179f=>1790pan>,  784{hsripts/mod/modpvk hr,>/a>            nuctcripts/mod/modp ecthref;n;s (%s): unexpected non-alloc1695901179f="scripts/mod/modpost.179f=>1790"line" name=         f (! };
            nmnulecripts/mod/modp   ule"line>ef="+code=sechdr"S  cripts/mod/modp   href;;a;s (%s): unexpected non-alloc1694601179fa href="scripts/mod/mo1691790ef="scripts/mod/    i             nweakripts/mod/modpvweakref;;a;s (%s): unexpected non-alloc1694701179fatic const char *1790179flass="sref">ALL_INIT_D169cl>1790pan>, 179f href="scripts/mod/mod169a >1790"line" name=851"""""i" name=======================};
 784{i  cripts/mod/modp   href->/a>            Uuctcripts/mod/modp ecthref;n;s (%s): unexpected non-alloc169 901179er to init/exit section179er>1791"line" name=====                     }ilsena;s (%s): unexpected non-alloc1691901179 class="line" name="L91179 c>1791pan>, 179 href="scripts/mod/modp179 h>1792pan>,  784{i  cripts/mod/modp   href->/a>            Uuctcripts/mod/modp ecthref;n;s (%s): unexpected non-alloc169 901179dpost.c#L914" id="L914"179dp>1791pan>, 179    \
179uot;.cpuinit.rodata$&qu179uo>1791"line" name=                b;s (%s): unexpected non-alloc179 601179to do full section mism179to>1791ef="scripts/mod/    iiiiiiiiif">teuxe;s (%s): unexpected non-alloc16979011798" id="L818" class="lin1798">17911791pan>,             nmnulecripts/mod/modp   ule"line>ee};
179pan>,
            ncrcvmali ripts/mod/modpUercvmali line;s (%s): unexpected non-alloc169 901179        1792"line" name=====     };
            ncrcripts/mod/modpUercline>ee};
>1792pan>, 179href="scripts/mod/modpo179hr>1792pan>;s (%s): unexpected non-alloc1693901179odpost.c#L824" id="L824179od>1792pan>, 179n>
179ripts/mod/modpost.c#L82179-all692"lin;s (%s): unexpected non-alloc1791901179ripts/mod/modpost.c#L82169ri>16926an>, 179>         784{fbuf_rintene" name="L855"pbuf_rinten hr(L};
NULs 842179>        179        169        169f="scripts/mod/modpost.169f=>1693pan>,             Unresoripts/mod/modp nresoref;  };
    href="sc"uextripts/mod/modpUuext hr,;a;s (%s): unexpected non-alloc1692901169.c#L833" id="L833" clas169.c>1693pan>, 169a href="scripts/mod/mod169a >1693pan>, teuxe;s (%s): unexpected non-alloc1691901179s="line" name="L836"> 8169s=>1693pan>, 179* This is used to find 169* >1693ef="scripts/mod/  ""e       bbbbbbb==};
 784{i  cripts/mod/modp   href->/a>            Uuctcripts/mod/modp ecthref;n;s (%s): unexpected non-alloc1694901179" class="line" name="L8169" >1693teuxe;s (%s): unexpected non-alloc169180117939" class="line" name="16939>1693pan>, 169me="L840"> 8401693"line" name=851""""" };
 784{fyripts/mod/modpvk hr,>/a>            ncrcripts/mod/modpUercline 784{fyripts/mod/modpvk hr,>/a>            nuctcripts/mod/modp ecthref;n;s (%s): unexpected non-alloc169 901169code=check_section" cla169co>1694"line" name==;s (%s): unexpected non-alloc1791901169struct 169sec = elf, 169 c>1694pan>, 169->179ROGBITS" class="sref">S169RO>16941" i;s (%s): unexpected non-alloc1697901169e=SHF_ALLOC" class="sre169e=>1694            ebuffene" name="L855"hbuffenref;e };
            emnulecripts/mod/modp   ule"line> };
section_wh169cl>1694pan>,             emnulecripts/mod/modp   ule"line> };
169on.\n"
1694"lin ;s (%s): unexpected non-alloc169 901169 href="scripts/mod/modp169 h>1695"line" name==w 842            eymbolse" name="L855"rymbols hr(> };
169/modpost.c#L852" id="L8169/m>1691pan>,             emnulecripts/mod/modp   ule"line> };
1692pan>,             ifirstripts/mod/modpUfirst hr,ef=1;s (%s): unexpected non-alloc169 901169modpost.c#L854" id="L85169mo>1695pan>,s (%s): unexpected non-alloc179 90116956" class="line" name="16956>1695pan>,     href="sc"uextripts/mod/modpUuext hr,;s (%s): unexpected non-alloc179 901169="line" name="L857"> 85169=">1695"line" name=         "+code=sechdr"e ripts/mod/modp   hr,>/a>    href="sc"seocripts/mod/modpdheoa hr,ef="+code=sechdr"en_vm seuxne" name="L855"is_vm seuxa hr(L784"> 784{h e" name="L855""m hr,>/a>            nuctcripts/mod/modp ecthref;n;s (%s): unexpected non-alloc169 901179"line" name="L858"> 858169"l>16951" i;s (%s): unexpected non-alloc1697901169"line" name="L859"> 859169"l>1695"line" name=L784"> 784{fbuf_rintene" name="L855"pbuf_rinten hr(L};
169sref">ALL_INIT_DATA_SEC169sr>1695pan>, NULL__ nile"_dependn[]\han class="st);;s (%s): unexpected non-alloc1798901169 class="line" name="L86169 c>1695pan>, 169/mod/modpost.c#L861" id169/m>1696"line" name=L784"> 784{Ebuf_rintene" name="L855"pbuf_rinten hr(L};
169="string">".memini169=">16961line" name=L784"> 784{Ebuf_rintene" name="L855"pbuf_rinten hr(L};
".cpuinit.data$169g">16962line" name=Lor_( };
            Unresoripts/mod/modp nresoref;  };
    href="sc"uextripts/mod/modpUuext hr,;a;s (%s): unexpected non-alloc1693901169 class="line" name="L86169 c>1696pan>, NULL };
169g">".cpuexit.data$169g">1696pan>, 169sref">ALL_INIT_TEXT_SEC169sr>1696"line" name=                bf">teuxe;s (%s): unexpected non-alloc1693901179 class="line" name="L86169 c>16961" i;s (%s): unexpected non-alloc1693901169g">".cpuinit.text$169g">1696 784{isripts/mod/modpvk hr,>/a>            nmnulecripts/mod/modp   ule"line>/a>    href="sc"seocripts/mod/modpdheoa hr,;s (%s): unexpected non-alloc1793901169 class="line" name="L86169 c>1696pan>, teuxe;s (%s): unexpected non-alloc1693901169g">".cpuexit.text$169g">1696"lin s (%s): unexpected non-alloc169 901169ref">ALL_PCI_INIT_SECTI169re>1697"line" name=====     };
            nmnulecripts/mod/modp   ule"line>/a>    href="sc"seocripts/mod/modpdheoa hr,ef=1;s (%s): unexpected non-alloc169 901169 class="line" name="L87169 c>1697pan>,  784{hsripts/mod/modpvk hr,>/a>            nmnulecripts/mod/modp   ule"line>/a>    href="sc"uctcripts/mod/modp ecthref;".pci169as>1697pan>,  784{ipripts/mod/modpUp hr,;s (%s): unexpected non-alloc179 901169ef="scripts/mod/modpost169ef>1697pan>,  784{ipripts/mod/modpUp hr,++;s (%s): unexpected non-alloc1792901169a href="scripts/mod/mod169a >1697pan>, 169ef">ALL_XXXINIT_SECTION169ef>1697"line" name=                b};
            nmnulecripts/mod/modp   ule"line>/a>    href="sc"uctcripts/mod/modp ecthref;;s (%s): unexpected non-alloc1792901179NIT_SECTIONS, 1697ef="scripts/mod/  ""e784"> 784{Ebuf_rintene" name="L855"pbuf_rinten hr(L};
 784{ffirstripts/mod/modpUfirst hr,e?e7L897" class="line" name="l#n class="st) :e7L897" class="line" name="l,an class="st) 784{fpripts/mod/modpUp hr,;;s (%s): unexpected non-alloc1792901169" name="L878"> 878#169" >1697 880
169" >1697pan>, 169a>, >1698pan>;ss="srvoidf="+code=sechdr"cadd_srcers/mohe" name="L855"rddd_srcers/moh hr(Ls 842            ebuffene" name="L855"hbuffenref;e };
            emnulecripts/mod/modp   ule"line> };
".data.rel$&quo169g">1698pan>,  784{h niripts/mod/modp   href;>/a>            Usrcers/mohe" name="L855"rsrcers/moh hr([0];a;s (%s): unexpected non-alloc1695901169d/modpost.c#L886" id="L169d/>1698"line" name=         "+code=sechdr"ebuf_rintene" name="L855"pbuf_rinten hr(L};
169T_SECTIONS      1698ef="scripts/mod/  ""e784"> 784{Ebuf_rintene" name="L855"pbuf_rinten hr(L};
169pts/mod/modpost.c#L888"169pt>1698 784{h niripts/mod/modp   href;>/a>            Usrcers/mohe" name="L855"rsrcers/moh hr(;;s (%s): unexpected non-alloc1796901169f="scripts/mod/modpost.169f=>1698pan>, 169f="scripts/mod/modpost.169f=>1698"line;s (%s): unexpected non-alloc179 901169f="scripts/mod/modpost.169f=>1699"lin;s (%s): unexpected non-alloc1791901169T_SECTIONS      1699pan>,ss="srvoidf="+code=sechdr"cwrite_if_changedripts/mod/modpvwrite_if_changed hr(Ls 842            ebuffene" name="L855"hbuffenref;e };
NULL };
169pts/mod/modpost.c#L893"169pt>1699pan>;;s (%s): unexpected non-alloc1693901169f="scripts/mod/modpost.169f=>1699pan>,  };
169f="scripts/mod/modpost.169f=>1699pan>, 169f="scripts/mod/modpost.169f=>1699"line" name= w 842            eys="e" name="L855"hstat hr,ea>            eyse" name="L855"hstline;s (%s): unexpected non-alloc1695901169169tatic const char *1699"line" name=L784"> 784{fuie ripts/mod/modpUfie"lineef="+code=sechdr"eiopocripts/mod/modpdiopoc hr(L};
169class="sref">ALL_INIT_D169cl>1699pan>, 169a href="scripts/mod/mod169a >1699"line" name=851""""" goto="+code=sechdr"cwriteripts/mod/modpvwriteline;s (%s): unexpected non-alloc120 901120 901ef="scripts/mod/mod120 90>20 9" i;s /pre>12/02/bac5b10c5b98c733dccdab2af35ceeb5cd39_3/20 90> (%s): unexpected non-alloc120 101120 _SECTIONS      20 pan>,             eyse" name="L855"hstline)&at;  0ns (%s): unexpected non-alloc120 201120 ts/mod/modpost.c#L893"120 ts>20 pan>, 120 ="scripts/mod/modpost.120 =">20 pan>,s (%s): unexpected non-alloc120 401120 ="scripts/mod/modpost.120 =">20 pan>,  784{hyse" name="L855"hstline.784"> 784{hys_sizeripts/mod/modpvys_sizean>, !f="+code=sechdr"ebe" name="L855"hb hr,>/a>            Un-aripts/mod/modpUponline;s (%s): unexpected non-alloc120 501120 ="scripts/mod/modpost.120 =">20 "line" name=         goto="+code=sechdr"cclose_writeripts/mod/modpvclose_writeline;s (%s): unexpected non-alloc120 601120 a href="scripts/mod/mo120 a >20 1" i;s (%s): unexpected non-alloc120 701120 atic const char *20 "line" name=L784"> 784{ftmcripts/mod/modpatmp hr,ef="+code=sechdr"eNOFAILripts/mod/modpaNOFAIL hr,!};
            Un-aripts/mod/modpUponline;;;s (%s): unexpected non-alloc120 801120 lass="sref">ALL_INIT_D120 la>20 pan>,  784{ibe" name="L855"hb hr,>/a>            Un-aripts/mod/modpUponline 784{ffie"ripts/mod/modpUfie"linen !f="+code=sechdr"ebe" name="L855"hb hr,>/a>            Un-aripts/mod/modpUponline;s (%s): unexpected non-alloc120 901120  href="scripts/mod/mod120  h>20 "line" name=851""""" goto="+code=sechdr"cfree_writeripts/mod/modpvfree_writeline;s (%s): unexpected non-alloc1201901120er to init/exit section120er >20er" i;s (%s): unexpected non-alloc1201101120 class="line" name="L91120 cl>20epan>,             Unripts/mod/modpUp hr, 784{ibe" name="L855"hb hr,>/a>            Un-aripts/mod/modpUponlinen !f=0ns (%s): unexpected non-alloc1201201120 href="scripts/mod/modp120 hr>20epan>, 120dpost.c#L914" id="L914"120dpo>20epan>,s (%s): unexpected non-alloc1201401120    \
120uot;.cpuinit.rodata$&qu120uot>20e5an>, 120to do full section mism120to >20eef="scripts/mreturn;s (%s): unexpected non-alloc12017011208" id="L818" class="lin1208" >20e7an>,s (%s): unexpected non-alloc1201801120L819" class="line" name120L81>20e8 hr,ea>            efree_writeripts/mod/modpvfree_writeline:s (%s): unexpected non-alloc1201901120pan>,
120        20            eclose_writeripts/mod/modpvclose_writeline:s (%s): unexpected non-alloc1202101120a>         784{Efclosee" name="L855"hfclose hr,!};
120href="scripts/mod/modpo120hre>20<2 hr,ea>            ewriteripts/mod/modpvwriteline:s (%s): unexpected non-alloc1202301120odpost.c#L824" id="L824120odp>20, 120n>
120ripts/mod/modpost.c#L82120rip>20<"line" name=         "+code=sechdr"epernone" name="L855"hpernon hr(L7;
120ripts/mod/modpost.c#L82120rip>20 784{Eexitripts/mod/modp exit hr(L1n;s (%s): unexpected non-alloc120<701120>        120>                    Unripts/mod/modpUp hr, 784{ibe" name="L855"hb hr,>/a>            Un-aripts/mod/modpUponline 784{ffie"ripts/mod/modpUfie"linen !f="+code=sechdr"ebe" name="L855"hb hr,>/a>            Un-aripts/mod/modpUponline;a;s (%s): unexpected non-alloc120<901120        120         784{Eexitripts/mod/modp exit hr(L1n;s (%s): unexpected non-alloc1203101120f="scripts/mod/modpost.120f=">20 pan>, 120.c#L833" id="L833" clas120.c#>20 pan>, 120a href="scripts/mod/mod120a h>20 pan>,;s (%s): unexpected non-alloc120 401120s="line" name="L836"> 8120s=">20 pan>,s (%s): unexpected non-alloc120 501120odpost.c#L837" id="L837120odp>20 "lin;"L897" classcomment"> /* parse M ule".symers/ fie". 37" Lor_mat:ss="st;s (%s): unexpected non-alloc120 601120* This is used to find 120* T>20 ef="s"L897" classcomment"> * T0x12345678at; tabgt;/ymbolsat; tabgt;/  ule"[[at; tabgt;/export]at; tabgt;/yomethne"]ss="st;s (%s): unexpected non-alloc120 701120" class="line" name="L8120" c>20   */ass="st;s (%s): unexpected non-alloc120 80112039" class="line" name="12039">20 pan>,s ="srvoidf="+code=sechdr"cread_dumcripts/mod/modparead_dumc hr,!f">NULL };
            ikernese" name="L855"rkernesline;s (%s): unexpected non-alloc1203901120me="L840"> 84020 "lin ;s (%s): unexpected non-alloc1204901120code=check_section" cla120cod>20coan>,             eyizeripts/mod/modpvyizean>, 784{fp-aripts/mod/modpUponlineef=0;s (%s): unexpected non-alloc120c101120struct             eyizeripts/mod/modpvyizean>,n;s (%s): unexpected non-alloc1204201120scripts/mod/modpost.c#L120scr>20cpan>,  };
120sec = elf, 120 cl>20cpan>, 120-> /* Noaymbols ers/mohn, sie"ntly ignore /ass="st;s (%s): unexpected non-alloc1204601120ROGBITS" class="sref">S120ROG>20cef="scripts/mod/  ""ereturn;s (%s): unexpected non-alloc1204701120e=SHF_ALLOC" class="sre120e=S>20c7an>,s (%s): unexpected non-alloc1204801120class="sref">section_wh120cla>20cpan>,             en-aripts/mod/modpUponline 784{ffie"ripts/mod/modpUfie"line 784{fyizeripts/mod/modpvyizean>,n);a;s (%s): unexpected non-alloc1204901120on.\n"
20c"line" name=851""""" L };
120 href="scripts/mod/modp120 hr>20 hline" name=851""""" unsigned nte/a>            icrcripts/mod/modpUercline;s (%s): unexpected non-alloc120 101120/modpost.c#L852" id="L8120/mo>20 pan>,             emnulecripts/mod/modp   ule"line> };
20 pan>,             eymbolse" name="L855"rymbols hr(> };
120modpost.c#L854" id="L85120mod>20 pan>,s (%s): unexpected non-alloc120540112056" class="line" name="12056">20 pan>,  784{hyymuctcripts/mod/modp yymuctclineef="+code=sechdr"estrchne" name="L855"hstrchn hr(L784"> 784{h/modpopts/mod/modpv/modline 85120="l>20 "line" name=                bgoto="+code=sechdr"cfaise" name="L855"riais hr,;s (%s): unexpected non-alloc120 601120"line" name="L858"> 858120"li>20 ef="scripts/mod/  ""e };
 859120"li>20  784{h  cuctcripts/mod/modp   cuctclineef="+code=sechdr"estrchne" name="L855"hstrchn hr(L784"> 784{hyymuctcripts/mod/modp yymuctclineALL_INIT_DATA_SEC120sre>20 pan>, 120 class="line" name="L86120 cl>20 "line" name=851"""""  };
20/ma href="scripts    =f (LL784"> 784{hexportripts/mod/modp exportlineef="+code=sechdr"estrchne" name="L855"hstrchn hr(L784"> 784{h  cuctcripts/mod/modp   cuctcline120="string">".memini120="s>20/pan>, ".cpuinit.data$120g">>20/pan>,  784{iexportripts/mod/modp exportlineeamp;& !LL784"> 784{hendripts/mod/modpvendlineef="+code=sechdr"estrchne" name="L855"hstrchn hr(L784"> 784{hexportripts/mod/modp exportline120 class="line" name="L86120 cl>20/pan>, ".cpuexit.data$120g">>20/pan>, ee};
 784{h/modpopts/mod/modpv/modline            edripts/mod/modpvdline120sref">ALL_INIT_TEXT_SEC120sre>20/"line" name=         f (! };
ef="L897" class="line" na399;\0a399;ss="st)e||e };
120g">".cpuinit.text$120g">>20/ 784{h  cuctcripts/mod/modp   cuctclinen;s (%s): unexpected non-alloc1206801120 class="line" name="L86120 cl>20/pan>, ".cpuexit.text$120g">>20/"line" name=851"""""i" name==f (L784"> 784{in_vm seuxne" name="L855"is_vm seuxa hr(L784"> 784{h  cuctcripts/mod/modp   cuctclinenns (%s): unexpected non-alloc1207901120ref">ALL_PCI_INIT_SECTI120ref>20reline" name=851"""""i" name==pts    =a>            ihavevm seuxne" name="L855"ihavevm seuxnf="scf=1;s (%s): unexpected non-alloc120r101120 class="line" name="L87120 cl>20rpan>,             i  cripts/mod/modp   href;ef="+code=sechdr"enew"mnulecripts/mod/modp new"mnulec hr(L784"> 784{h  cuctcripts/mod/modp   cuctclinen;s (%s): unexpected non-alloc1207201120ass="string">".pci120ass>20rpan>,             i  cripts/mod/modp   href;>/a>            Uskicripts/mod/modpaskicf="scf=1;s (%s): unexpected non-alloc120r301120ef="scripts/mod/modpost120ef=>20rpan>, 120a href="scripts/mod/mod120a h>20rpan>,  784{hyymuctcripts/mod/modp yymuctcline            i  cripts/mod/modp   href;            iexport_noripts/mod/modpUexport_no hr(L784"> 784{hexportripts/mod/modp exportline;;;s (%s): unexpected non-alloc1207501120ef">ALL_XXXINIT_SECTION120ef">20r"line" name=         "+code=sechdr"esripts/mod/modpvk hr,>/a>            nkernese" name="L855"rkernesline    f="+code=sechdr"ekernese" name="L855"rkernesline;s (%s): unexpected non-alloc1207601120NIT_SECTIONS, 20ref="scripts/mod/  ""e784"> 784{Esripts/mod/modpvk hr,>/a>            npreloadedripts/mod/modpvpreloadedf="scf=1;s (%s): unexpected non-alloc120r701120" name="L878"> 878#120" n>20r 784{hyymuctcripts/mod/modp yymuctcline            i  cripts/mod/modp   href;            icrcripts/mod/modpUercline 784{fexport_noripts/mod/modpUexport_no hr(L784"> 784{hexportripts/mod/modp exportline;;;s (%s): unexpected non-alloc1207801120XIT_SECTIONS, 20rpan>, 120" name="L880"> 880
120" n>20r"line" name=8return;s (%s): unexpected non-alloc1208901120>ALL_INIT_SECTIONS 120>AL>20>Aa h "+code=sechdr"cfaise" name="L855"riais hr,:s (%s): unexpected non-alloc1208101120a>,  784{Efatase" name="L855"riatas hr(L7L897" class="line" name="lparse ernon inaymbols dumc fie"\han class="st);;s (%s): unexpected non-alloc120>201120a>, ".data.rel$&quo120g">>20>pan>,"L897" classcomment"> /* Fon nr_mal builds always dumc allaymbolss.ss="st;s (%s): unexpected non-alloc1208501120d/modpost.c#L886" id="L120d/m>20>"lin;"L897" classcomment">  * Fon external mnulecs only dumc ymbolssss="st;s (%s): unexpected non-alloc1208601120T_SECTIONS      20>ef="s"L897" classcomment"> * Tthat are nrt read from kernes M ule".symers/.ss="st;s (%s): unexpected non-alloc1208701120pts/mod/modpost.c#L888"120pts>20>  */ass="st;s (%s): unexpected non-alloc1208801120f="scripts/mod/modpost.120f=">20>pan>,s ="srvnte/a>            idumc_symripts/mod/modpvdumc_sym hr(Lw 842            eymbolse" name="L855"rymbols hr(> };
120f="scripts/mod/modpost.120f=">20>"lin ;s (%s): unexpected non-alloc1209901120f="scripts/mod/modpost.120f=">20f=an>, 120T_SECTIONS      20fpan>, 120pts/mod/modpost.c#L893"120pts>20f2an>,             nm seuxne" name="L855"im seuxnf="sc||/a>            eymbripts/mod/modpvsym hr(>/a>            nkernese" name="L855"rkernesline;s (%s): unexpected non-alloc1209301120f="scripts/mod/modpost.120f=">20fpan>, 120f="scripts/mod/modpost.120f=">20fpan>, 120f="scripts/mod/modpost.120f=">20f"line;s (%s): unexpected non-alloc120f601120120tatic const char *20fNULL };
120class="sref">ALL_INIT_D120cla>20f8lin ;s (%s): unexpected non-alloc1209901120a href="scripts/mod/mod120a h>20f"line" name=8s 842            ebuffene" name="L855"hbuffenref;ea>            ebufe" name="L855"hbuff="scf={ };s (%s): unexpected non-alloc121 901121 901ef="scripts/mod/mod121 90>210"line" name==w 842            eymbolse" name="L855"rymbols hr(> };
121 _SECTIONS      21 pan>,             icripts/mod/modpdn hr(;s (%s): unexpected non-alloc121 201121 ts/mod/modpost.c#L893"121 ts>21 pan>,s (%s): unexpected non-alloc121 301121 ="scripts/mod/modpost.121 =">210pan>, f="+code=sechdr"esymolshashe" name="L855"rymbolshash hr([a>            icripts/mod/modpdn hr(];s (%s): unexpected non-alloc121 501121 ="scripts/mod/modpost.121 =">21 "line" name=         whie" (};
121 a href="scripts/mod/mo121 a >210ef="scripts/mod/  ""e       bf (L};
121 atic const char *210            ebufe" name="L855"hbuff="s121 lass="sref">ALL_INIT_D121 la>210pan>,             ncrcripts/mod/modpUercline 784{fymbolse" name="L855"rymbols hr(>/a>            nuctcripts/mod/modp uctcline121  href="scripts/mod/mod121  h>21 "line" name=851""""" ===                  nmnulecripts/mod/modp m ule"line>/a>    href="sc"uctcripts/mod/modp ecthref;121er to init/exit section121er >211eline" name=851"""""i" name==pts    =" name==};
    href="sc"exportripts/mod/modp exportline;;;s (%s): unexpected non-alloc1211101121 class="line" name="L91121 cl>211pan>,             ismbolse" name="L855"rymbols hr(>f="+code=sechdr"esymolse" name="L855"rymbols hr(>/a>            nuextripts/mod/modpUuext hr,;s (%s): unexpected non-alloc1211201121 href="scripts/mod/modp121 hr>21epan>, 121dpost.c#L914" id="L914"121dpo>211pan>, 121    \
            ebufe" name="L855"hbuff="s121uot;.cpuinit.rodata$&qu121uot>211"line;s (%s): unexpected non-alloc1211601121to do full section mism121to >2111" i;s (%s): unexpected non-alloc12117011218" id="L818" class="lin1218" >211            eext_sym_liyse" name="L855"hext_sym_liysan>, ;s (%s): unexpected non-alloc1211801121L819" class="line" name121L81>211pan>,             eext_sym_liyse" name="L855"hext_sym_liysan>,  };
121pan>,
NULL };
121        21121a>        21<2 hr,fte/a>            imaicripts/mod/modpdmaic hr(Lfte/a>            iargcripts/mod/modpUargcf="s  };
121odpost.c#L824" id="L824121odp>212pan>,;s (%s): unexpected non-alloc1212401121n>
 };
            ebuffene" name="L855"hbuffenref;ea>            ebufe" name="L855"hbuff="scf={ };s (%s): unexpected non-alloc121<601121ripts/mod/modpost.c#L82121rip>21 };
f="+code=sechdr"eNULLripts/mod/modpaNULLlinef="+code=sechdr"eNULLripts/mod/modpaNULLline;s (%s): unexpected non-alloc121<701121>         };
f="+code=sechdr"eNULLripts/mod/modpaNULLline;s (%s): unexpected non-alloc121<801121>        21<"line" name=8fte/a>            ieriripts/mod/modpUerrline;s (%s): unexpected non-alloc1213901121                    eext_sym_liyse" name="L855"hext_sym_liysan>,  };
121f="scripts/mod/modpost.121f=">21 pan>,             eext_sym_liyse" name="L855"hext_sym_liysan>,  };
f="+code=sechdr"eNULLripts/mod/modpaNULLline;s (%s): unexpected non-alloc121 201121.c#L833" id="L833" clas121.c#>213pan>,s (%s): unexpected non-alloc1213301121a href="scripts/mod/mod121a h>213pan>, 121s="line" name="L836"> 8121s=">213pan>, 121odpost.c#L837" id="L837121odp>213"line" name=         case="L897" class="line" na399;ia399;ss="st):s (%s): unexpected non-alloc121 601121* This is used to find 121* T>213ef="scripts/mod/  ""e       b};
f="+code=sechdr"eoptargripts/mod/modpUoptargline;s (%s): unexpected non-alloc121 701121" class="line" name="L8121" c>213213pan>,  840213"line" name=851""""" ===     };
f="+code=sechdr"eoptargripts/mod/modpUoptargline;s (%s): unexpected non-alloc1214901121code=check_section" cla121cod>214eline" name=851"""""i" name==};
121struct 121scripts/mod/modpost.c#L121scr>214pan>, 214pan>,  784{icross_buildripts/mod/modpUeross_build hr(cf=1;s (%s): unexpected non-alloc121c401121 class="sref">elf, 121 cl>214pan>, 121->S121ROG>21cef="scripts/mod/  ""e" name==};
121e=SHF_ALLOC" class="sre121e=S>214121class="sref">section_wh121cla>214pan>, 121on.\n"
21c"line" name=851"""""              nuextripts/mod/modpUuext hr,>f="+code=sechdr"eextsym_startripts/mod/modp extsym_start hr(;s (%s): unexpected non-alloc1215901121 href="scripts/mod/modp121 hr>21 hline" name=851"""""              nuie ripts/mod/modpUfie"lineef="+code=sechdr"eoptargripts/mod/modpUoptargline;s (%s): unexpected non-alloc121 101121/modpost.c#L852" id="L8121/mo>21 pan>, f="+code=sechdr"eextsym_iteiripts/mod/modpUextsym_iteiline;s (%s): unexpected non-alloc121 201121.c#L853" id="L853" clas121.c#>21 pan>, 121modpost.c#L854" id="L85121mod>215pan>, 21 pan>, 121="line" name="L857"> 85121="l>21 "line" name=                bbreak;s (%s): unexpected non-alloc121 601121"line" name="L858"> 858121"li>21 ef="scripts/mod/  ""ecase="L897" class="line" na399;oa399;ss="st):s (%s): unexpected non-alloc1215701121"line" name="L859"> 859121"li>21 f="+code=sechdr"eoptargripts/mod/modpUoptargline;s (%s): unexpected non-alloc121 801121sref">ALL_INIT_DATA_SEC121sre>21 pan>, 121 class="line" name="L86121 cl>21 "line" name=851""""" case="L897" class="line" na399;aa399;ss="st):s (%s): unexpected non-alloc1216901121/mod/modpost.c#L861" id121/mo>21/ma href="scripts    = 121="string">".memini121="s>21/pan>, 121g">".cpuinit.data$121g">>21/pan>, 121g">".cpuexit.data$121g">>21/pan>, 121sref">ALL_INIT_TEXT_SEC121sre>21/"line" name=         case="L897" class="line" na399;Sa399;ss="st):s (%s): unexpected non-alloc1216601121 class="line" name="L86121 cl>21/ef="scripts/mod/  ""e       b"+code=sechdr"esec_mismatch_ersbosee" name="L855"hsec_mismatch_ersbose hr(cf=0;s (%s): unexpected non-alloc1216701121g">".cpuinit.text$121g">>21/121 class="line" name="L86121 cl>21/pan>, ".cpuexit.text$121g">>21/"line" name=851"""""i" name==};
ALL_PCI_INIT_SECTI121ref>21reline" name=851"""""i" name==break;s (%s): unexpected non-alloc121r101121 class="line" name="L87121 cl>21rpan>, 121ass="string">".pci121ass>21rpan>,             iexitripts/mod/modp exit hr(L1n;s (%s): unexpected non-alloc121r301121ef="scripts/mod/modpost121ef=>21rpan>, 121a href="scripts/mod/mod121a h>21rpan>, 121ef">ALL_XXXINIT_SECTION121ef">21r"lines (%s): unexpected non-alloc1217601121NIT_SECTIONS, 21ref="scripts/mf (L};
121" name="L878"> 878#121" n>21r121XIT_SECTIONS, 217pan>, 121" name="L880"> 880
121" n>217"line" name=851""""" };
121>ALL_INIT_SECTIONS 121>AL>218eline" name=8whie" (};
121a>,             nuie ripts/mod/modpUfie"line, 0n;s (%s): unexpected non-alloc1218201121a>,             nuextripts/mod/modpUuext hr,;s (%s): unexpected non-alloc1218301121A_SECTIONS 218pan>,             nureee" name="L855"hfreeref;L};
121g">".data.rel$&quo121g">>218pan>, f="+code=sechdr"eextsym_iteiripts/mod/modpUextsym_iteiline;s (%s): unexpected non-alloc1218501121d/modpost.c#L886" id="L121d/m>2185an>, 121T_SECTIONS      2181" i;s (%s): unexpected non-alloc1218701121pts/mod/modpost.c#L888"121pts>2187line" name=8whie" (};
            iargcripts/mod/modpUargcf="sns (%s): unexpected non-alloc1218801121f="scripts/mod/modpost.121f=">218pan>,             ioptindripts/mod/modpvoptindline++];;s (%s): unexpected non-alloc1218901121f="scripts/mod/modpost.121f=">21>"lin s (%s): unexpected non-alloc1219901121f="scripts/mod/modpost.121f=">21f=an>,             i  cripts/mod/modp   href;;L7>            i  cripts/mod/modp   href;ef="+code=sechdr"e  cripts/mod/modp   href;>/a>            nuextripts/mod/modpUuext hr,;a;s (%s): unexpected non-alloc1219101121T_SECTIONS      21fpan>, 121pts/mod/modpost.c#L893"121pts>219pan>, 121f="scripts/mod/modpost.121f=">21fpan>,  784{icheck_exportnripts/mod/modpvcheck_exportn hr,!};
121f="scripts/mod/modpost.121f=">219pan>, 121f="scripts/mod/modpost.121f=">219"lines (%s): unexpected non-alloc121f601121121tatic const char *2197an>,s (%s): unexpected non-alloc121f801121class="sref">ALL_INIT_D121cla>2198an>,             i  cripts/mod/modp   href;;L7>            i  cripts/mod/modp   href;ef="+code=sechdr"e  cripts/mod/modp   href;>/a>            nuextripts/mod/modpUuext hr,;a;s (%s): unexpected non-alloc1219901121a href="scripts/mod/mod121a h>219"line" name=851""""" La>            nuuctcripts/mod/modp fecthref;[a>            istrlocripts/mod/modpdstrloc hr,!};
    href="sc"uctcripts/mod/modp ecthref;) + 10];s (%s): unexpected non-alloc122 901122 901ef="scripts/mod/mod122 90>220"lines (%s): unexpected non-alloc122 101122 _SECTIONS      220pan>, 122 ts/mod/modpost.c#L893"122 ts>220pan>, 122 ="scripts/mod/modpost.122 =">220pan>,s (%s): unexpected non-alloc122 401122 ="scripts/mod/modpost.122 =">220pan>, 122 ="scripts/mod/modpost.122 =">220"lines (%s): unexpected non-alloc122 601122 a href="scripts/mod/mo122 a >220ef="scripts/mod/  ""e};
            ebufe" name="L855"hbuff="s122 atic const char *220            ebufe" name="L855"hbuff="s122 lass="sref">ALL_INIT_D122 la>220pan>,             ebufe" name="L855"hbuff="s    href="sc"uctcripts/mod/modp ecthref;);s (%s): unexpected non-alloc122 901122  href="scripts/mod/mod122  h>22 "line" name=851""""" "+code=sechdr"eeriripts/mod/modpUerrlinec|f="+code=sechdr"eadd_ers/mohnripts/mod/modpvadd_ers/mohn hr,!amp;&a>            ebufe" name="L855"hbuff="s122er to init/exit section122er >221eline" name=851"""""i"+code=sechdr"eadd_dependnripts/mod/modpvadd_dependn hr,!amp;&a>            ebufe" name="L855"hbuff="s122 class="line" name="L91122 cl>221pan>,             ebufe" name="L855"hbuff="s122 href="scripts/mod/modp122 hr>22epan>,             ebufe" name="L855"hbuff="s122dpost.c#L914" id="L914"122dpo>221pan>,s (%s): unexpected non-alloc1221401122    \
            nuuctcripts/mod/modp fecthref;    href="sc"uctcripts/mod/modp ecthref;);s (%s): unexpected non-alloc1221501122uot;.cpuinit.rodata$&qu122uot>221"line" name=         "+code=sechdr"ewrite_if_changedripts/mod/modpvwrite_if_changed hr(Lamp;&a>            ebufe" name="L855"hbuff="s122to do full section mism122to >221ef="scripts/m;s (%s): unexpected non-alloc12217011228" id="L818" class="lin1228" >2217an>,s (%s): unexpected non-alloc1221801122L819" class="line" name122L81>221pan>, 221"line" name=851""""" "+code=sechdr"ewrite_dumcripts/mod/modpawrite_dumc hr(L};
122a>        122href="scripts/mod/modpo122hre>222pan>, 122odpost.c#L824" id="L824122odp>222pan>, 122n>
122ripts/mod/modpost.c#L82122rip>222"lines (%s): unexpected non-alloc122<601122ripts/mod/modpost.c#L82122rip>22122>        122>        lxi@seuxn.nof="s.
lxi.seuxn.no kindly h-aled by (%s)http://www.redpill-seupro.no">Redpill Leupro ASf="sNultne" and operatmohs services since 1995.