This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
[Patch] to allow bfd to build natively using solaris cc
- To: Richard Henderson <rth at redhat dot com>
- Subject: [Patch] to allow bfd to build natively using solaris cc
- From: Jeff Holcomb <jeffh at redhat dot com>
- Date: Tue, 16 Oct 2001 17:57:44 -0700 (PDT)
- cc: binutils at sources dot redhat dot com
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++)
{