|
|
|
|
|
|
|
|
|
|
xen-ppc-devel
Re: [XenPPC] PHDR link failure testcase
On Wed, Aug 16, 2006 at 08:10:20AM -0400, Jimi Xenidis wrote:
> Thanks for getting to the bottom of this Tony.
>
> >As it's empty the linker decides to start a
> >3rd segment rather than waste disk space.
>
> Hmm, what is "empty"?
By empty I mean "filled with 0s", which I believe is because all the
per_cpu variables are initialised at runtime.
> > Initially the linker guessed
> >it would need 2 segments, but due to this decision it actually uses 3,
> >causeing the abort.
> >
> >Aparently the newer (read current CVS) tools don't abort here but do
> >the right thing.
>
> What _is_ the "right thing"?
Use 3 PHDRS.
> Perhaps, this is just mythology/warm-n-fuzzy for me, but I really
> like having 1 PHDR.
> Lemmy collect my thoughts and come up with a rational reason.
Sure. Wouldn't that mean that everything will end up being in a
read/write/execute PHDR. Do we care about that?
Placing everything in one PHDR would look like:
---
diff -r 279843441136 xen/arch/powerpc/xen.lds.S
--- a/xen/arch/powerpc/xen.lds.S Wed Aug 16 17:19:38 2006 -0500
+++ b/xen/arch/powerpc/xen.lds.S Thu Aug 17 11:30:50 2006 +1000
@@ -10,11 +10,15 @@ SEARCH_DIR("=/usr/local/lib64"); SEARCH_
SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64");
SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib");
SEARCH_DIR("=/usr/lib");
/* Do we need any of these for elf?
__DYNAMIC = 0; */
+PHDRS
+{
+ text PT_LOAD FILEHDR PHDRS;
+}
SECTIONS
{
/* Read-only sections, merged into text segment: */
PROVIDE (__executable_start = 0x10000000); . = 0x10000000 + SIZEOF_HEADERS;
- .interp : { *(.interp) }
+ .interp : { *(.interp) } :text
.hash : { *(.hash) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
@@ -121,7 +125,7 @@ SECTIONS
__inithcall_end = .;
__per_cpu_start = .;
- .data.percpu : { *(.data.percpu) } :text
+ .data.percpu : { *(.data.percpu) }
__per_cpu_data_end = .;
. = __per_cpu_start + (NR_CPUS << PERCPU_SHIFT);
. = ALIGN(STACK_SIZE);
Yours Tony
linux.conf.au http://linux.conf.au/ || http://lca2007.linux.org.au/
Jan 15-20 2007 The Australian Linux Technical Conference!
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
|
|
|
|
|