public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Joseph Myers <joseph@codesourcery.com>
To: Palmer Dabbelt <palmer@dabbelt.com>
Cc: <adhemerval.zanella@linaro.org>, <libc-alpha@sourceware.org>,
	Andrew Waterman <andrew@sifive.com>,
	Darius Rad <darius@bluespec.com>, <dj@redhat.com>
Subject: Re: [PATCH v2 10/15] RISC-V: Linux Syscall Interface
Date: Mon, 01 Jan 2018 00:56:00 -0000	[thread overview]
Message-ID: <alpine.DEB.2.20.1801010052240.28505@digraph.polyomino.org.uk> (raw)
In-Reply-To: <mhng-a9f80547-ccbd-43a4-89d9-9ee8d1e6d067@palmer-si-x1c4>

On Sat, 23 Dec 2017, Palmer Dabbelt wrote:

> > > diff --git a/sysdeps/unix/sysv/linux/riscv/arch-fork.h
> > > b/sysdeps/unix/sysv/linux/riscv/arch-fork.h
> > > new file mode 100644
> > > index 000000000000..5f945378eec0
> > > --- /dev/null
> > > +++ b/sysdeps/unix/sysv/linux/riscv/arch-fork.h
> > > @@ -0,0 +1 @@
> > > +#include <sysdeps/unix/sysv/linux/i386/arch-fork.h>
> > 
> > I would prefer for new ports if we refrain to continue doing this cross arch
> > code references, it ties implementations that should be independent of each
> > other and make future cleanups more complex and required to adequate
> > multiple
> > architecture at once.
> 
> OK, no problem.  I've gone and replaced the #include with the contents of the
> included file for every instance where we were doing this.  I'll include this
> as part of a v3 patch set.

Copying the included file isn't particularly good either.  Rather, each 
such case, whether a copy from another architecture or a #include from 
another architecture, indicates a case where refactoring is needed to 
avoid such duplication - if the code can be generic for all new ports it 
should be in a generic location, while if it's generic for ports with a 
particular property things should be factored so a port only needs to 
declare that it has that property.  (Of course such refactoring is risky 
so not typically appropriate during a release freeze.)

Often, the files for i386 are actually generic for *old* ports and so if 
you're copying or including such a file (or one from another old 
architecture) you need to be particularly careful that it actually 
represents the desired way to do things now, rather than compatibility 
with old ABIs or old versions of the syscall interface.

-- 
Joseph S. Myers
joseph@codesourcery.com

  reply	other threads:[~2018-01-01  0:56 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-20  7:23 RISC-V glibc port v2 Palmer Dabbelt
2017-12-20  7:23 ` [PATCH v2 05/15] RISC-V: Generic <string.h> Routines Palmer Dabbelt
2017-12-20 16:48   ` Joseph Myers
2017-12-23 22:01     ` Palmer Dabbelt
2018-01-01  0:52       ` Joseph Myers
2018-01-03 15:46         ` Adhemerval Zanella
2018-01-03 16:03           ` Joseph Myers
2018-01-03 16:08             ` Adhemerval Zanella
2017-12-20  7:23 ` [PATCH v2 03/15] RISC-V: Startup and Dynamic Loading Code Palmer Dabbelt
2017-12-20 16:38   ` Joseph Myers
2017-12-23  3:25     ` Palmer Dabbelt
2017-12-23  3:33       ` DJ Delorie
2017-12-23 12:52       ` Joseph Myers
2017-12-20  7:23 ` [PATCH v2 01/15] RISC-V: Build Infastructure Palmer Dabbelt
2017-12-20 14:05   ` Dmitry V. Levin
2017-12-20 20:25     ` Palmer Dabbelt
2017-12-20 16:22   ` Joseph Myers
2017-12-20 16:49     ` Adhemerval Zanella
2017-12-23  2:22     ` Palmer Dabbelt
2017-12-23 12:44       ` Joseph Myers
2017-12-25 20:58         ` Palmer Dabbelt
2018-01-01  1:21           ` Joseph Myers
2017-12-20 16:43   ` Joseph Myers
2017-12-23  3:41     ` Palmer Dabbelt
2017-12-23 12:53       ` Joseph Myers
2017-12-20  7:23 ` [PATCH v2 02/15] RISC-V: ABI Implementation Palmer Dabbelt
2017-12-20 16:31   ` Joseph Myers
2017-12-23  3:25     ` Palmer Dabbelt
2017-12-23  3:30       ` DJ Delorie
2017-12-20  7:23 ` [PATCH v2 04/15] RISC-V: Thread-Local Storage Support Palmer Dabbelt
2017-12-20 16:45   ` Joseph Myers
2017-12-23 19:10     ` Palmer Dabbelt
2017-12-20  7:24 ` [PATCH v2 11/15] RISC-V: Linux ABI Palmer Dabbelt
2017-12-20 17:33   ` Joseph Myers
2017-12-25 19:47     ` Palmer Dabbelt
2018-01-01  1:04       ` Joseph Myers
2018-01-02 20:59         ` Joseph Myers
2017-12-20  7:24 ` [PATCH v2 06/15] RISC-V: Generic <math.h> and soft-fp Routines Palmer Dabbelt
2017-12-20 16:50   ` Joseph Myers
2017-12-24  0:24     ` Palmer Dabbelt
2017-12-20  7:24 ` [PATCH v2 08/15] RISC-V: RV32D, RV64F, and RV64D Support Palmer Dabbelt
2017-12-20  7:24 ` [PATCH v2 13/15] Add RISC-V dynamic relocations to elf.h Palmer Dabbelt
2017-12-20  7:24 ` [PATCH v2 09/15] RISC-V: Atomic and Locking Routines Palmer Dabbelt
2017-12-20 17:08   ` Joseph Myers
2017-12-24  1:26     ` Palmer Dabbelt
2017-12-20  7:24 ` [PATCH v2 14/15] Add linux-4.15 VDSO hash for RISC-V Palmer Dabbelt
2017-12-20  7:24 ` [PATCH v2 10/15] RISC-V: Linux Syscall Interface Palmer Dabbelt
2017-12-20 16:57   ` Adhemerval Zanella
2017-12-24  0:24     ` Palmer Dabbelt
2018-01-01  0:56       ` Joseph Myers [this message]
2018-01-03 13:43         ` Christoph Hellwig
2018-01-03 15:56           ` Adhemerval Zanella
2018-01-09  1:30             ` Palmer Dabbelt
2018-01-09 11:16               ` Adhemerval Zanella
2017-12-20 17:24   ` Joseph Myers
2017-12-25 19:47     ` Palmer Dabbelt
2017-12-20  7:24 ` [PATCH v2 07/15] RISC-V: RV32F Support Palmer Dabbelt
2017-12-20 17:01   ` Joseph Myers
2017-12-20 17:04     ` Joseph Myers
2017-12-24  1:26       ` Palmer Dabbelt
2017-12-24  0:37     ` Palmer Dabbelt
2018-01-01  0:57       ` Joseph Myers
2017-12-20  7:24 ` [PATCH v2 12/15] RISC-V: Linux Startup and Dynamic Loading Code Palmer Dabbelt
2017-12-20  7:24 ` [PATCH v2 15/15] Add RISC-V to build-many-glibcs.py Palmer Dabbelt
2017-12-20 16:04 ` RISC-V glibc port v2 Joseph Myers
2017-12-20 20:25   ` Palmer Dabbelt
2017-12-20 20:42     ` Joseph Myers
2017-12-20 17:40 ` Joseph Myers
2017-12-25 20:20   ` Palmer Dabbelt
2018-01-01  1:20     ` Joseph Myers
2018-01-03 13:37       ` Christoph Hellwig
2018-01-03 13:42         ` Joseph Myers
2017-12-20 21:11 ` Joseph Myers
2017-12-20 21:45   ` Palmer Dabbelt
2017-12-25 12:57     ` Adhemerval Zanella
2018-01-01  0:58       ` Joseph Myers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.20.1801010052240.28505@digraph.polyomino.org.uk \
    --to=joseph@codesourcery.com \
    --cc=adhemerval.zanella@linaro.org \
    --cc=andrew@sifive.com \
    --cc=darius@bluespec.com \
    --cc=dj@redhat.com \
    --cc=libc-alpha@sourceware.org \
    --cc=palmer@dabbelt.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).