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]

[Patch] to allow bfd to build natively using solaris cc


On Tue, 16 Oct 2001, Richard Henderson wrote:

> This isn't.  You're no longer doing pointer arithmetic on characters.

Ok.  How about this instead.  Per your advice, change the type on 
contents so the changes to elf.c aren't needed.  These changes work fine 
with Solaris cc.

in include/elf/

2001-10-16  Jeff Holcomb  <jeffh@redhat.com>

        * internal.h (elf_internal_shdr): Make contents an unsigned char *.

in bfd/

2001-10-16  Jeff Holcomb  <jeffh@redhat.com>

        * elflink.h (elf_link_sort_relocs): Remove unnecessary pointer
        casts.

Index: internal.h
===================================================================
RCS file: /cvs/src/src/include/elf/internal.h,v
retrieving revision 1.4
diff -u -p -r1.4 internal.h
--- internal.h  2001/09/18 10:01:41     1.4
+++ internal.h  2001/10/17 00:50:06
@@ -98,7 +98,7 @@ typedef struct elf_internal_shdr {
 
   /* The internal rep also has some cached info associated with it. */
   asection *   bfd_section;            /* Associated BFD section.  */
-  PTR          contents;               /* Section contents.  */
+  unsigned char *contents;             /* Section contents.  */
 } Elf_Internal_Shdr;
 
 #define elf32_internal_shdr elf_internal_shdr

Index: elflink.h
===================================================================
RCS file: /cvs/src/src/bfd/elflink.h,v
retrieving revision 1.115
diff -u -p -r1.115 elflink.h
--- elflink.h   2001/10/16 06:33:52     1.115
+++ elflink.h   2001/10/17 00:51:41
@@ -4502,7 +4502,7 @@ elf_link_sort_relocs (abfd, info, psec)
            struct elf_link_sort_rela *s;
 
            erel = (Elf_External_Rel *) o->contents;
-           erelend = (Elf_External_Rel *) ((PTR) o->contents + o->_raw_size);
+           erelend = (Elf_External_Rel *) (o->contents + o->_raw_size);
            s = rela + o->output_offset / sizeof (Elf_External_Rel);
            for (; erel < erelend; erel++, s++)
              {
@@ -4519,7 +4519,7 @@ elf_link_sort_relocs (abfd, info, psec)
            struct elf_link_sort_rela *s;
 
            erela = (Elf_External_Rela *) o->contents;
-           erelaend = (Elf_External_Rela *) ((PTR) o->contents + o->_raw_size);
+           erelaend = (Elf_External_Rela *) (o->contents + o->_raw_size);
            s = rela + o->output_offset / sizeof (Elf_External_Rela);
            for (; erela < erelaend; erela++, s++)
              {


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