bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: binutils 2.16.1: objcopy broken on solaris x86?


From: Nick Clifton
Subject: Re: binutils 2.16.1: objcopy broken on solaris x86?
Date: Fri, 29 Jul 2005 15:28:17 +0100
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)

Hi Andrew,

<  LOAD off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**16
>  LOAD off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12

According to the solaris linker and library guide
http://docs.sun.com/app/docs/doc/817-1984/6mhm7pl2a?a=view#chapter6-34713
p_align should be 2**16 for 32 bit segments, and 2**20 for 64 bit
segments. There seems to be a little inconsistency here, because on
x86-64, the solaris linker generates p_align as 2**16, but the solaris
documentation suggests it should be 2**20. Either way, the p_align
values after objcopy do not meet the requirements.

[I do not have access to an x86 Solaris 10 environment, so the following is guesswork].

For the 32-bit case I think that the problem might be because of this definition in the file ld/emulparams/elf_i386_ldso.sh:

  MAXPAGESIZE=0x1000

If you change this to:

  MAXPAGESIZE=0x10000

and then rebuild the linker, does the (32-bit) problem go away ?

(We will need to make a different version of this file for Solaris if this is so, but that can be done later).

You may also find that it is necessary to change the definition of ELF_MAXPAGESIZE in bfd/elf_i386.c:

  #define ELF_MAXPAGESIZE                       0x1000

I am not sure about the 64-bit case though. so lets leave that for now.

Cheers
  Nick




reply via email to

[Prev in Thread] Current Thread [Next in Thread]