Re: [PATCH] libgloss: arm: break newlib dependency

Mike Frysinger <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <Y6TUPP6M1h5Aopp2@vapier>
On 21 Dec 2022 09:24, Corinna Vinschen wrote:
> On Dec 20 20:47, Mike Frysinger wrote:
> > On 19 Dec 2022 10:08, Richard Earnshaw wrote:
> > > On 14/12/2022 09:13, Mike Frysinger wrote:
> > > > The libgloss port has been reaching back into newlib internals for a
> > > > single header whose contents have been frozen for almost a decade.
> > > > To break this backwards libgloss->newlib dependency, duplicate that
> > > > header here so we can keep libgloss independent as it's meant to be.
> > > 
> > > This isn't really 'newlib internals', it's a header file that tries to 
> > > provide ACLE[1] compatibility for older versions of GCC that lacked such 
> > > support.  Having two copies of this is a maintenance burden, so I'm not 
> > > entirely sure this is a great thing to do, even if the copies are 
> > > supposed to be identical.
> > 
> > newlib already has 2 itself.  so this will be a 3rd.  i don't disagree with
> > the maintenance concern, but the fact the file hasn't changed in a decade,
> > and seems unlikely to ever change, makes me not worry about it.
> > 
> > > If we can agree on a common location in the source tree that both newlib 
> > > and libgloss can pull this from, then I'm happy to move it if that would 
> > > make you happier.
> > 
> > libgloss is supposed to be C library agnostic.  the C library (newlib) itself
> > relies on the output of libgloss (e.g. the crt and low level syscalls).  since
> > there is no other tree/project in play that i'm aware of, that means there are
> > really only three options:
> > * have the compiler provide it
> > * have libgloss provide it (and newlib uses that)
> > * duplicate the header
> > 
> > i know the libgloss/newlib separation is still pretty unclean due to the two
> > projects historically being one (i.e. everything in newlib), but i don't think
> > that's a good reason to keep it messy with libgloss depending on newlib.
> 
> Why not just <toplevel>/include then?  It already contains target-specific
> stuff in the opcodes subdir, or the xtensa headers.  Having to share them
> between newlib and libgloss should be reason enough to move the file there.

the file is currently installed under machine/.  none of the installed headers
use it though, so maybe it doesn't really need to be installed.  if that's the
case, moving it into the top-level include/ would work.
-mike
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEuQK1JxMl+JKsJRrUQWM7n+g39YEFAmOk1DwACgkQQWM7n+g3
9YEghRAAvZz5WZB+HhGWZNaO/cWmZTyd2GWebXr6H4mTq3jVVGjTIcaDX+S5FI1C
f1DM8b8adZkytK5pbJRLstufFidDIskOrhCsIj3tprqwD7Z27NkfE8+xmrsY/lNG
kqviOK5kFNfGScRB6nVpOVIFE3x0YS/lriF+Qg0xYV5kdhyl2bCQ1VmG8OJg06M3
tciVytUMcUQrhrtI2Adhq0pwfQMTaDDjA8KQdL7L6h6H5S0l+JSta/nxv3ZTIsn+
mOeK2EyFhu3WbjnwLMo4U2SZYP4UXGrOktA56me+iziu0EfnzIizLjPyU5FABhYx
rpzdvhlQIP6lTAar0//xHcuDNEXk6rzAgpiGNPWyXduGidDeEDRZVX8G2c5oDfW6
Hcn1DJfbBdcgzYbOdUa4GUe5J1jLHMT5N+W05xoyL9BYSx+VwHloPGFSv/oXGYoH
dpfpxZy8EYKAcSG8XSfaT6pk5HJ9hwcsSADcG/JbhgdP34saGg3q3SaQGBaN2jgH
rvBHysRLQMw8/LgQKo/Ogx3ReYEq3UyShwxW4XPTCgWKfR77WYz143njBx2jFFZp
ur7KKZvg6XJ2ckCsyvtrfbnUVILz9hQBQEezglGffdTnabA2Tolq65Czdrl3HJSr
93lxIvzTwBIjwJO8XB7Ns74XdFPtPPgYcjrh17seIBfV0DIlH7g=
=a+1f
-----END PGP SIGNATURE-----
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.