On Tue, Feb 05, 2008 at 10:47:07AM -0800, Linus Torvalds wrote:With a bit of help from the bin-utils people (Alan Modra) I recently discovered that the linker generate sections with different names when the flags differs, so fogetting "aw" casues the linekr to generate a section named .init.data.1 (or some other number). But I nevet got to investigate if ld does something magically with these autogenerated section names. But I added a check in modpost and it should warn about the code below. I would prefer the use of __CPUINITDATA __FINITDATA as defined in linux/init.h but otherwise - yes it should be fixed. With the use of __CPUINITDATA we can kill the ifdef too. Sam So something like this (untested - sorry): I sneaked an extra ENTRY() in just to clean up a bit. diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S index 4f283ad..09b38d5 100644 --- a/arch/x86/kernel/head_64.S +++ b/arch/x86/kernel/head_64.S @@ -250,18 +250,13 @@ ENTRY(secondary_startup_64) lretq /* SMP bootup changes these two */ -#ifndef CONFIG_HOTPLUG_CPU - .pushsection .init.data -#endif + __CPUINITDATA .align 8 - .globl initial_code -initial_code: + ENTRY(initial_code) .quad x86_64_start_kernel -#ifndef CONFIG_HOTPLUG_CPU - .popsection -#endif - .globl init_rsp -init_rsp: + __FINITDATA + + ENTRY(init_rsp) .quad init_thread_union+THREAD_SIZE-8 bad_address: --
| monstr | [PATCH 26/60] microblaze_v4: time support |
| Jon Smirl | Re: 463 kernel developers missing! |
| Andrew Morton | Re: x86: 4kstacks default |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
git: | |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | Re: [GIT]: Networking |
| Jiri Olsa | [PATCHv5 0/2] net: fix race in the receive/select |
