This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: PATCH: windres
- From: Kai Tietz <Kai dot Tietz at onevision dot com>
- To: "H. J. Lu" <hjl at lucon dot org>
- Cc: binutils at sources dot redhat dot com
- Date: Fri, 20 Apr 2007 15:27:51 +0200
- Subject: Re: PATCH: windres
"H. J. Lu" <hjl@lucon.org> wrote on 18.04.2007 06:56:38:
> On Wed, Apr 18, 2007 at 12:09:59AM -0400, Christopher Faylor wrote:
> > On Tue, Apr 17, 2007 at 09:32:30AM +0200, Kai Tietz wrote:
> > >"H. J. Lu" <hjl@lucon.org> wrote on 16.04.2007 23:58:49:
> > >>On Mon, Apr 16, 2007 at 05:07:10PM -0400, Christopher Faylor wrote:
> > >>>If you are assuming that int means 32 bits, wouldn't it make sense
to
> > >>>use a type like u_int32_t which explicitly spells that out?
> > >>
> > >>u_int32_t is a good idea if it doesn't require extra change since
this
> > >>is a temporary patch until windres can be rewritten properly.
> > >
> > >Such a types as u_int32_t, u_int16_t, ... are really a good idea,
but
> > >that these types are not available on all platforms in sys/types.h.
:(
> > >So this would need some further work on a temporary thing. But I
> > >think, it would be a good idea to introduce those kind of types to
bfd.
> > >E.g. bfd_uint32_t, bfd_int32, bfd_int16, ...
> >
> > We've all had experience with "temporary" changes, though, so I think
it
> > makes sense to do this the right way. Doesn't configure provide a way
to
> > determine the size of ints/longs?
>
> I don't think binutils will work at all if sizeof int < 32. I am not
> sure if we should worry about int > 32 here. In anycase, as I said
> before, the proper thing to do is to use unsigned char [4]:
>
> http://sourceware.org/ml/binutils/2007-04/msg00154.html
>
> Anything less is temporary.
I agree to that. I am now nearly through to extend windres by some missing
(or new) resource types as MANIFEST, DLGINIT, TOOLBAR, ANICURSOR, ANIICON,
etc. Also I near through to produce a re-compilable RC dump (e.g.
bitmaps).
I rewrote the rclex as just c lexer not using flex anymore. It seems to be
much faster and a more flexible way to implement this kind of tokenizer.
Also the lexer and the yacc file now will support unicode strings by L""
too.
I isolated the resource definition structures and I will begin now to
rewrite the internal structure representation.
The endian test I generalized to be setup in windres.c on startup globally
by using two global as "host_is_big_endian" and "target_is_big_endian" to
cover more easily the endian stuff.
I think I will have completed with that next midweek AFAICS.
Do you have may some helpful suggestions or some additons ?
Regards,
i.A. Kai Tietz
------------------------------------------------------------------------------------------
OneVision Software Entwicklungs GmbH & Co. KG
Dr.-Leo-Ritter-StraÃe 9 - 93049 Regensburg
Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
Handelsregister: HRA 6744, Amtsgericht Regensburg
KomplementÃrin: OneVision Software Entwicklungs Verwaltungs GmbH
Dr.-Leo-Ritter-StraÃe 9 â 93049 Regensburg
Handelsregister: HRB 8932, Amtsgericht Regensburg - GeschÃftsfÃhrer:
Ulrike DÃhler, Manuela Kluger