This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
[PATCH] IBM C compiler patch for bfd/elf-bfd.h
- From: Albert Chin <binutils at mlists dot thewrittenword dot com>
- To: binutils at sources dot redhat dot com
- Date: Thu, 3 Jun 2004 13:16:25 -0500
- Subject: [PATCH] IBM C compiler patch for bfd/elf-bfd.h
- Reply-to: binutils at sources dot redhat dot com
The IBM compiler doesn't like bit types to be of type char:
...
xlc -DHAVE_CONFIG_H -I. -I. -I. -D_GNU_SOURCE -DAIX_5_CORE -DAIX_CORE_DUMPX_CORE -DAIX_CORE -DAIX_WEAK_SUPPORT -I. -I. -I./../include -I./../intl -I../intl -O2 -qmaxmem=-1 -qarch=com -c bfd.c -DPIC
1506-507 (W) No licenses available. Contact your program supplier to add additional users. Compilation will proceed shortly.
"elf-bfd.h", line 281.3: 1506-009 (S) Bit-field cie must be of type signed int, unsigned int or int.
"elf-bfd.h", line 282.3: 1506-009 (S) Bit-field removed must be of type signed int, unsigned int or int.
"elf-bfd.h", line 283.3: 1506-009 (S) Bit-field make_relative must be of type signed int, unsigned int or int.
"elf-bfd.h", line 284.3: 1506-009 (S) Bit-field make_lsda_relative must be of type signed int, unsigned int or int.
"elf-bfd.h", line 285.3: 1506-009 (S) Bit-field per_encoding_relative must be of type signed int, unsigned int or int.
Patch below against binutils that ships with gdb-6.1.
--
albert chin (china@thewrittenword.com)
-- snip snip
2004-06-02 Albert Chin-A-Young <china@thewrittenword.com>
* bfd/elf-bfd.h: Convert unsigned char bit types to
unsigned int to satisfy IBM C compiler.
--- bfd/elf-bfd.h.orig 2004-05-27 00:31:45.546121000 -0500
+++ bfd/elf-bfd.h 2004-05-27 00:31:54.296250000 -0500
@@ -278,11 +278,11 @@
unsigned char fde_encoding;
unsigned char lsda_encoding;
unsigned char lsda_offset;
- unsigned char cie : 1;
- unsigned char removed : 1;
- unsigned char make_relative : 1;
- unsigned char make_lsda_relative : 1;
- unsigned char per_encoding_relative : 1;
+ unsigned int cie : 1;
+ unsigned int removed : 1;
+ unsigned int make_relative : 1;
+ unsigned int make_lsda_relative : 1;
+ unsigned int per_encoding_relative : 1;
};
struct eh_frame_sec_info