We are seeing a "section mismatch" warning during "make modules". This warning message also appears when we tried to build our own driver. Once we switched back to upstream kernel source other than the RHEL 5.1 kernel source, those warning message disappear. Is there any solution on how to remove these warning messages? We are going to do a software release this week, so we need a solution or work around. ---------------------------------------------------------------------- Ronald Pacheco [rpacheco] in email stated: From Gary Case: > I talked to one of the engineers about the problem. He said it was > akin to the "unaligned access" messages we see on ia64. You can fix > it, but nothing bad happens if you don't. The messages appear by > default when using our source tree. > > The reason for the messages is that someone is doing init operations > without having __init, or something is being called outside of init > with __init. Regards, Ron ----------------------------------------------------------------------- The following is the detail of the warning messages: MODPOST WARNING: vmlinux - Section mismatch: reference to .init.data:boot_params from .text between '_text' (at offset 0xc0400029) and 'startup_32_smp' WARNING: vmlinux - Section mismatch: reference to .init.data:boot_params from .text between '_text' (at offset 0xc0400037) and 'startup_32_smp' WARNING: vmlinux - Section mismatch: reference to .init.data:init_pg_tables_end from .text between '_text' (at offset 0xc0400099) and 'startup_32_smp' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset 0xc0400126) and 'is486' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset 0xc0400130) and 'is486' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset 0xc040014f) and 'is486' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset 0xc0400160) and 'is486' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset 0xc0400166) and 'is486' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset 0xc040016c) and 'is486' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset 0xc0400172) and 'is486' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset 0xc0400188) and 'is486' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset 0xc0400192) and 'is486' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset 0xc040019b) and 'is486' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset 0xc04001a1) and 'is486' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'check_x87' (at offset 0xc0400210) and 'setup_idt' WARNING: vmlinux - Section mismatch: reference to .init.data:new_cpu_data from .text between 'check_x87' (at offset 0xc040022e) and 'setup_idt' WARNING: vmlinux - Section mismatch: reference to .init.text:start_kernel from .text between 'is386' (at offset 0xc040020a) and 'check_x87' WARNING: vmlinux - Section mismatch: reference to .init.text:smp_prepare_cpus from .text between 'init' (at offset 0xc0400300) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.text:migration_init from .text between 'init' (at offset 0xc0400305) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.text:spawn_ksoftirqd from .text between 'init' (at offset 0xc040030a) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'init' (at offset 0xc0400310) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.text:spawn_softlockup_task from .text between 'init' (at offset 0xc0400318) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.text:smp_cpus_done from .text between 'init' (at offset 0xc0400381) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.text:sched_init_smp from .text between 'init' (at offset 0xc04003ec) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.text:cpuset_init_smp from .text between 'init' (at offset 0xc04003f1) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.text:populate_rootfs from .text between 'init' (at offset 0xc04003f6) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.text:usermodehelper_init from .text between 'init' (at offset 0xc0400400) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.text:driver_init from .text between 'init' (at offset 0xc0400405) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.text:sysctl_init from .text between 'init' (at offset 0xc040040a) and 'rest_init' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'init' (at offset 0xc040041f) and 'rest_init' .......................
Hi Jason, I've fixed a tonne of these in the latest RHEL5 base. These are typically caused by an .text function calling into .init.text code ie) code that is declared as __init, __devinit, etc.. Just curious, specifically what version of the RHEL5 kernel are you working with? P.
We are using RHEL 5, Server version of kernel 2.6.18.8. -Jason W.
We are seeing the warning with both RHEL5 and RHEL5.1. The target for the driver is RHEL5, so I will change the product and version of the bugzilla to reflect this.
Hi Jason, Thanks for the info -- are the mismatch warnings in your original comment from the RHEL5.0 or RHEL5.1 release? They seem to be from the RHEL5.0 release... P.
They are from RHEL5.0
Jason, Please try one of the kernels on my people page. These are beta 5.1 kernel packages. Most likely the messages you are seeing have been resolved by then. http://people.redhat.com/dzickus/el5 -Don
Our POR for the release to customer is RHEL5. The beta 5.1 kernel package does not apply here. Can you create a patch for RHEL5? Thanks, -Jason W.
(In reply to comment #7) > Our POR for the release to customer is RHEL5. The beta 5.1 kernel package does > not apply here. Can you create a patch for RHEL5? > Jason, it is unlikely that a RHEL5 patch will be generated as a) these are not fatal errors, b) these have been resolved in 5.1. P.
I tried the kernel package 5.1 you mentioned. It still has some warning messages, though much fewer. I am copying all the messages here. -Jason -------------- WARNING: vmlinux - Section mismatch: reference to .init.text:start_kernel from .text between 'is386' (at offset 0xc0401166) and 'check_x87' WARNING: vmlinux - Section mismatch: reference to .init.text: from .text between 'rest_init' (at offset 0xc04012ef) and 'try_name' WARNING: vmlinux - Section mismatch: reference to .init.text:__alloc_bootmem from .text between 'cpu_init' (at offset 0xc040b820) and 'c_start' WARNING: vmlinux - Section mismatch: reference to .init.text: from .text between 'online_page' (at offset 0xc041d473) and 'free_init_pages' WARNING: vmlinux - Section mismatch: reference to .init.text:__alloc_bootmem from .text between 'vgacon_startup' (at offset 0xc04f9743) and 'vgacon_scrolldelta' WARNING: vmlinux - Section mismatch: reference to .init.data:logo_linux_clut224 from .text between 'fb_find_logo' (at offset 0xc0502030) and 'cfb_fillrect' WARNING: vmlinux - Section mismatch: reference to .init.text: from .data between 'apic_bigsmp' (at offset 0xc066d564) and 'cpu.4405'
Hi Jason, Yes -- we still have a few that would have required significant changes to the RHEL5 kernel, so we left those as open issues. But ;), as we've noted internally, it's _a lot_ better and manageable than before :) I'm attaching this to tracking BZ 226822. That BZ tracks each one of the above warnings individually. P.
Closing this as a duplicate. (I'm picking 226853 __alloc_bootmem for no particular reason other than it is mentioned in Jason's comment #10.) P. *** This bug has been marked as a duplicate of 226853 ***
Hi, Pratit, I knew you said that Red Hat is unlikely to provide a patch for 5.0 to get rid of these warning message. But after discussing this with Management and Marketing, we really want to remove these warning messages. There primarily 3 reasons, 1) The warning messages hide other potential warning messages. 2) We will need to build our own driver as a kernel modules many times by different groups, developer, validation, and marketing, every time the warning messages displayed, there are some complaining. 3) Eventually, our customer will compile our driver and see these warning message, these in turn damage our image as a great company for perfection. So would you consider provide a patch for removing these warning message for RHEL5.0? The upper management is asking for a patch. Thanks, -Jason (In reply to comment #8) > (In reply to comment #7) > > Our POR for the release to customer is RHEL5. The beta 5.1 kernel package does > > not apply here. Can you create a patch for RHEL5? > > > Jason, it is unlikely that a RHEL5 patch will be generated as > a) these are not fatal errors, > b) these have been resolved in 5.1. > P.
Jason, I am the Intel Partner Manager at Red Hat. Please be advised that we are addressing the issue you raised with the RHEL 5.0 release in RHEL 5.1 and in subsequent releases. Per comment #10 above, we have *significantly* reduced the number of warnings. The remaining ones, as noted in Comment #10, require significant changes and will require a measured and deliberate engineering effort-- this is not something we can rush or should be done outside of a full development cycle. If we try to rush these through, we can run the risk of destabilizing the installed base. This is not what enterprise customers are expecting from Red Hat or Intel. I will inform Keve of this status, and CC you.