Re: [PATCH] libc: Replace i386/sys/fenv.h symlink with an #include shim

Corinna Vinschen via Newlib <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
On Mar 23 15:38, Corinna Vinschen via Newlib wrote:
> On Mar 13 19:11, David Macek via Newlib wrote:
> > > > More to the point, how big of an issue would be to duplicate the file?
> > >
> > > I'm not hot on duplicating an identical file, it just raises maintenance
> > > cost.  I'm currently looking into a solution to share the file without
> > > duplicating it.
> > 
> > Something like a Makefile rule?
> 
> A bit more complicated in fact.  I added a new topic branch called
> topic/shared_arch_headers to the upstream repo, containing a single
> patch
> 
>   a8cd2849ed0c Add build mechanism to share common header files between
>                machines

Update: I split this patch into seven patches and force pushed them
onto topic/shared_arch_headers:

3835c015d09d Add build mechanism to share common header files between machines
e8e95bf6436a configure.host: define shared ix86 and x86_64 directory
718f3955449f fenv: add missing declarations to x86 fenv.h
a0d06f6c50ed fenv: Move shared x86 sys/fenv.h from x86_64 to shared_x86
c06e30d3d961 fenv: move shared x86 fenv.c to libm/machine/shared_x86
7803e212adcd fenv: drop Cygwin-specific implementation in favor of newlib code
3b79d7e1c31f Cygwin: don't call _feinitialise from _dll_crt0

Please fetch this change and reset your branch to this new state.
This should very much simplify reviewing the changes.

> This patch introduces a new way to share header files between
> architectures, not share by other architectures.
> 
> I tried to change this in a generic way.  The fenv stuff in this patch
> is basically just the first user of this new mechanism.
> 
> As a side-effect, this also allows to remove Cygwin's own fenv code
> finally, which was already pretty much the same as newlib's x86 code
> anyway.  The major exception was the call to _feinitialise in Cygwin DLL
> startup.  Given that the newlib fenv code is auto-initializing, this can
> go away.  Cygwin just has to keep the _feinitialise entry point for
> backward compatibility for apps built in a certain time frame.
> 
> David, Joel, anybody else interested in this stuff, please inspect
> this patch on the topic/shared_arch_headers branch thorougly.  I will
> not push this quickly, since we're in the process of releasing Cygwin
> 3.2.0.  I don't want to destabilise the release without need :)


Thanks,
Corinna
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.