This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ld: Simple Linker Script Example


On Thursday 06 November 2003 11:20 pm, Ian Lance Taylor wrote:
> Barry Rountree <rountree@uga.edu> writes:
> > Program Headers:
> >   Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
> >   PHDR           0x000034 0x00001034 0x00000000 0x00120 0x00120 R E 0x4
>
> The program headers are not in a loadable segment, although I don't
> think that should be a problem.  To get them into a loadable segment,
> put *(.interp) before your .sandbox_* sections.
>
> I can't see any other reason for this to fail.  As you say, it's
> probably something obvious.
>

Yep, that did it.  Wow.  Many, many thanks for the help!

The diff is pretty much as you'd expect:

--- script.ld.orig      2003-11-06 22:45:57.000000000 -0500
+++ script.ld   2003-11-06 23:31:42.000000000 -0500
@@ -9,8 +9,25 @@
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
-  . = 0x08048000 + SIZEOF_HEADERS;
+  . = 0x08048000 + 0x200;
   .interp         : { *(.interp) }
+
+  . += 0x1000;
+  . = ALIGN(0x1000);
+
+  .sandbox_text   : { ext.o ( .text ) }
+  . += 0x1000;
+  . = ALIGN(0x1000);
+
+  .sandbox_data   : { ext.o ( .data ) }
+  . += 0x1000;
+  . = ALIGN(0x1000);
+
+  .sandbox_bss   : { ext.o ( .bss  ) }
+  . += 0x1000;
+  . = ALIGN(0x1000);
+
+
   .hash           : { *(.hash) }
   .dynsym         : { *(.dynsym) }
   .dynstr         : { *(.dynstr) }


> Ian

Barry


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]