Messages in this thread Patch in this message | | | Date | Tue, 6 May 2003 08:30:55 +0200 | From | Andi Kleen <> | Subject | [PATCH] Fix .altinstructions linking failures |
| |
Some configs didn't link anymore because they got references from .altinstructions to __exit functions. Fixing it at the linker level is not easily possible. This patch just discards .text.exit at runtime instead of link time to avoid this.
Idea from Andrew Morton.
It will also fix a related problem with .eh_frame in modern gcc (so far only observed on x86-64, but could happen on i386 too)
Index: linux/arch/i386/vmlinux.lds.S =================================================================== RCS file: /home/cvs/linux-2.5/arch/i386/vmlinux.lds.S,v retrieving revision 1.18 diff -u -u -r1.18 vmlinux.lds.S --- linux/arch/i386/vmlinux.lds.S 30 Apr 2003 14:32:05 -0000 1.18 +++ linux/arch/i386/vmlinux.lds.S 6 May 2003 05:28:28 -0000 @@ -85,7 +85,10 @@ __alt_instructions = .; .altinstructions : { *(.altinstructions) } __alt_instructions_end = .; - .altinstr_replacement : { *(.altinstr_replacement) } + .altinstr_replacement : { *(.altinstr_replacement) } + /* .exit.text is discard at runtime, not link time, to deal with references + from .altinstructions and .eh_frame */ + .exit.text : { *(.exit.text) } . = ALIGN(4096); __initramfs_start = .; .init.ramfs : { *(.init.ramfs) } @@ -106,7 +109,6 @@ /* Sections to be discarded */ /DISCARD/ : { - *(.exit.text) *(.exit.data) *(.exitcall.exit) } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |