On Fri, Mar 17, 2006 at 12:53:24PM -0800, James E Wilson wrote: > On Fri, 2006-03-17 at 12:45, James E Wilson wrote: > > That should be .text.*, not .text*. > > And because .text.* doesn't match .text, this actually needs to be > *(.text .text.*) I don't think so. linker calls fnmatch to match section names by patterns. According to my man page: NAME fnmatch - match filename or pathname SYNOPSIS #include <fnmatch.h> int fnmatch(const char *pattern, const char *string, int flags); DESCRIPTION The fnmatch() function checks whether the string argument matches the pattern argument, which is a shell wildcard pattern. ".text*" should work as a shell wildcard pattern. > Try looking at ld --verbose output, and grepping for .text. This is the updated patch to include *(.gnu.linkonce.t.*) sections. H.J. --- --- gnu-efi/gnuefi/elf_ia32_efi.lds.ia32 2004-12-22 07:52:28.000000000 -0800 +++ gnu-efi/gnuefi/elf_ia32_efi.lds 2006-03-17 13:30:58.000000000 -0800 @@ -9,7 +9,12 @@ SECTIONS . = ALIGN(4096); .text : { - *(.text) + *(.text*) + *(.gnu.linkonce.t.*) + } + .reloc : + { + *(.reloc) } . = ALIGN(4096); .data : @@ -48,12 +53,9 @@ SECTIONS . = ALIGN(4096); .dynstr : { *(.dynstr) } . = ALIGN(4096); - .ignored.reloc : + /DISCARD/ : { *(.rel.reloc) - } - .ignored : - { *(.eh_frame) } } --- gnu-efi/gnuefi/elf_ia64_efi.lds.ia32 2004-12-22 10:18:10.000000000 -0800 +++ gnu-efi/gnuefi/elf_ia64_efi.lds 2006-03-17 13:31:11.000000000 -0800 @@ -9,7 +9,7 @@ SECTIONS . = ALIGN(4096); .text : { - *(.text) + *(.text*) *(.gnu.linkonce.t*) } . = ALIGN(4096); @@ -59,13 +59,10 @@ SECTIONS .dynsym : { *(.dynsym) } . = ALIGN(4096); .dynstr : { *(.dynstr) } - .ignored_reloc : + /DISCARD/ : { *(.rela.plabel) *(.rela.reloc) - } - /DISCARD/ : - { *(.IA_64.unwind*) *(.IA64.unwind*) } - : send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |