delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2003/03/17/13:22:11

Sender: rich AT phekda DOT freeserve DOT co DOT uk
Message-ID: <3E7600CA.3F71163@phekda.freeserve.co.uk>
Date: Mon, 17 Mar 2003 17:07:22 +0000
From: Richard Dawe <rich AT phekda DOT freeserve DOT co DOT uk>
X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.23 i586)
X-Accept-Language: de,fr
MIME-Version: 1.0
To: djgpp-workers AT delorie DOT com
Subject: Re: gcc 3.3 pre-release and DJGPP CVS: src/libc
References: <3E7377CE DOT 81DA3631 AT phekda DOT freeserve DOT co DOT uk> <Pine DOT OSF DOT 4 DOT 51 DOT 0303171352560 DOT 27664 AT sirppi DOT helsinki DOT fi>
Reply-To: djgpp-workers AT delorie DOT com

Hello.

Esa A E Peuha wrote:
> 
> On Sat, 15 Mar 2003, Richard Dawe wrote:
[snip]
> Please don't include anything below your signature; most mail programs
> want to strip the signature delimiter and everything below it when
> replying.

OK. I'll try to remember.

> > make.exe: Entering directory `c:/develop/djgpp.rw2/src/libc/ansi/stdio'
> > gcc ... -c doprnt.c
> > doprnt.c: In function `_doprnt':
> > doprnt.c:282: warning: dereferencing type-punned pointer will break
> > strict-aliasing rules
> > doprnt.c: In function `isspeciall':
> > doprnt.c:900: warning: dereferencing type-punned pointer will break
> > strict-aliasing rules
> > make.exe: *** [doprnt.o] Error 1
> > make.exe: Target `all' not remade because of errors.
> > make.exe: Leaving directory `c:/develop/djgpp.rw2/src/libc/ansi/stdio'
> 
> I think these should use union wrappers to avoid the warning (assuming
> that gcc won't complain about cast to union pointer from member type
> pointer).

OK.

> > make.exe: Entering directory `c:/develop/djgpp.rw2/src/libc/compat/stdio'
> > gcc ... -c tempnam.c
> > tempnam.c:16: warning: `x8len' defined but not used
> > make.exe: *** [tempnam.o] Error 1
> > make.exe: Target `all' not remade because of errors.
> > make.exe: Leaving directory `c:/develop/djgpp.rw2/src/libc/compat/stdio'
> 
> So do we remove x8len or change the literal 8 on line 50 to x8len?

That's the fix I've used in my tree.

> > make.exe: Entering directory `c:/develop/djgpp.rw2/src/libc/go32'
> > gcc ... -c goqmem.c
> > goqmem.c: In function `_go32_dpmi_remaining_physical_memory':
> > goqmem.c:7: warning: dereferencing type-punned pointer will break
> > strict-aliasing rules
> > goqmem.c: In function `_go32_dpmi_remaining_virtual_memory':
> > goqmem.c:16: warning: dereferencing type-punned pointer will break
> > strict-aliasing rules
> > make.exe: *** [goqmem.o] Error 1
> > make.exe: Target `all' not remade because of errors.
> > make.exe: Leaving directory `c:/develop/djgpp.rw2/src/libc/go32'
> 
> Now this is interesting. :-)  These are calls to
> _go32_dpmi_get_free_memory_information which is _supposed_ to take a
> pointer to _go32_dpmi_meminfo as argument, but dpmi.h defines
> _go32_dpmi_get_free_memory_information as
> __dpmi_get_free_memory_information which wants pointer to
> __dpmi_free_mem_info; there seems to be no solution other than avoiding
> _go32_dpmi_get_free_memory_information altogether.

Yep. Implement _go32_dpmi_get_free_memory_information to call
__dpmi_get_free_memory_information and translate between the two structure
types. If the structures are the same, just memcpy.

I've uninstalled gcc 3.3 and gone back to gcc 3.2.2 now. I actually want to do
some work (porting GNU coreutils, fchdir, etc.) and gcc 3.3 is just too whiny.
Maybe someone else could fix these problems.

Bye, Rich =]

-- 
Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019