This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: IBM C compiler patch for GDB 6.1
- From: Daniel Jacobowitz <drow at false dot org>
- To: gdb-patches at sources dot redhat dot com, binutils at sources dot redhat dot com
- Date: Wed, 2 Jun 2004 23:15:58 -0400
- Subject: Re: IBM C compiler patch for GDB 6.1
- References: <20040602224326.GA92326@mail1.thewrittenword.com>
This is a binutils file rather than a GDB one. I think the patch looks
reasonable...
On Wed, Jun 02, 2004 at 05:43:26PM -0500, Albert Chin wrote:
> 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.
>
> --
> 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
>
--
Daniel Jacobowitz