linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Frank <mhf@linuxmail.org>
To: Yann Droneaud <yann.droneaud@mbda.fr>,
	fruhwirth clemens <clemens-dated-1063536166.2852@endorphin.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: nasm over gas?
Date: Thu, 4 Sep 2003 22:57:12 +0800	[thread overview]
Message-ID: <200309042257.12739.mhf@linuxmail.org> (raw)
In-Reply-To: <3F5741BD.5000401@mbda.fr>

On Thursday 04 September 2003 21:44, Yann Droneaud wrote:
> fruhwirth clemens wrote:
> > Hi!
> >
> > I recently posted a module for twofish which implements the algorithm in
> > assembler
> > (http://marc.theaimsgroup.com/?l=linux-kernel&m=106210815132365&w=2)
> >
> > Unfortunately the assembler used is masm. I'd like to change that.
> > Netwide Assembler (nasm) is the assembler of my choice since it focuses
> > on portablity and has a more powerful macro facility (macros are heavily
> > used by 2fish_86.asm). But as I'd like to make my work useful (aim for an
> > inclusion in the kernel) I noticed that this would be the first module to
> > depend on nasm. Everything else uses gas.
> >
> > So the question is: Is a patch which depends on nasm likely to be merged?
>
> I hope no ...
>
> Some years ago, we converted the only part of the kernel that used as86
> to GNU as: see arch/i386/boot. I think this was an improvement.
> Using nasm for only one small piece of code would be a regression, imho.
>

Concur, not worthwhile to start using a fairly unsupported tool in the kernel.

As to using assembler, It is better to get rid of it but in special cases.
Todays compilers are the better coders in 98+% of applications, and if you
follow some of the discussions here on the list, you will be amazed what 
people do with a C compiler - all portable and much more maintainable.

I guess your code should be 80-90% C and 10-20% assmbler. This will make it
up to 10 times a portable.   

As to using nasm, note for gas and gcc 3.2+:

+ GAS does intel syntax too using  the directive
   .intel_syntax

+ GCC can do intel syntax asm output as well, tried
  it on some mid size apps - it works fine.

As to "abuse" of macros, macros beyond C-style pre-processing are generaly 
obsolete, better use C, or write an app-specific front end. 

I did the latter to "preprocess" a common source, running 16 bit/embedded 
source through wasm and 32bit/linux source through gas. 

Regards
Michael


  parent reply	other threads:[~2003-09-04 15:07 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-04 10:42 nasm over gas? Fruhwirth Clemens
2003-09-04 12:32 ` Antonio Vargas
2003-09-04 13:44 ` Yann Droneaud
2003-09-04 14:05   ` Richard B. Johnson
2003-09-04 14:21     ` Sean Neakums
2003-09-04 14:33       ` Richard B. Johnson
2003-09-04 15:09         ` Yann Droneaud
2003-09-04 14:55     ` Yann Droneaud
2003-09-05 21:16       ` George Anzinger
2003-09-04 14:57   ` Michael Frank [this message]
2003-09-04 15:43     ` Fruhwirth Clemens
2003-09-04 22:28     ` insecure
2003-09-05 12:59       ` Michael Frank
2003-09-05 17:28         ` insecure
2003-09-05 17:45           ` Jörn Engel
2003-09-06 17:18             ` insecure
2003-09-07 18:49           ` Eric W. Biederman
2003-09-07 19:30             ` Jamie Lokier
2003-09-09 21:37               ` insecure
2003-09-09 21:34             ` insecure
2003-09-11 11:07               ` Ricardo Bugalho
2003-09-12 15:26                 ` insecure
2003-09-12 17:27                   ` Ricardo Bugalho
2003-09-12 22:17                     ` Jörn Engel
2003-09-13 19:25                       ` Jamie Lokier
2003-09-13 19:51                         ` Jörn Engel
2003-09-11 14:03               ` Eric W. Biederman
2003-09-11 17:05                 ` Jamie Lokier
2003-09-09 20:56           ` Pavel Machek
2003-09-05 13:27       ` Jesse Pollard
2003-09-05 23:51     ` Aaron Lehmann
2003-09-06  1:41       ` Valdis.Kletnieks
2003-09-04 14:56 ` Yann Droneaud
2003-09-05 11:42 ` Jörn Engel
2003-09-05 12:04   ` Fruhwirth Clemens
2003-09-05 12:37     ` Jörn Engel
2003-09-05 12:21 John Bradford
2003-09-05 12:25 John Bradford
2003-09-05 12:25 ` Fruhwirth Clemens
2003-09-06 22:08   ` Herbert Poetzl
2003-09-07 20:40     ` Fruhwirth Clemens
2003-09-05 13:20 ` Richard B. Johnson
2003-09-05 13:57 John Bradford
2003-09-05 15:39 ` Mehmet Ceyran
2003-09-06 20:24   ` David B. Stevens
     [not found] <rZQN.83u.21@gated-at.bofh.it>
     [not found] ` <saVL.7lR.1@gated-at.bofh.it>
     [not found]   ` <soFo.16a.1@gated-at.bofh.it>
     [not found]     ` <ssJa.6M6.25@gated-at.bofh.it>
     [not found]       ` <tcVB.rs.3@gated-at.bofh.it>
2003-09-08 12:03         ` Ihar 'Philips' Filipau
2003-09-08 13:53           ` Richard B. Johnson
2003-09-08 16:10             ` Jamie Lokier
2003-09-08 16:17           ` Jamie Lokier
2003-09-08 16:45             ` Ihar 'Philips' Filipau
2003-09-08 16:58               ` Jamie Lokier
2003-09-08 17:59           ` William Lee Irwin III
     [not found] <snJB.8dk.25@gated-at.bofh.it>
     [not found] ` <snTm.8qD.41@gated-at.bofh.it>
     [not found]   ` <sTpW.18Z.19@gated-at.bofh.it>
     [not found]     ` <teE5.2XZ.9@gated-at.bofh.it>
2003-09-08 12:07       ` Ihar 'Philips' Filipau
     [not found] <tt0q.6Rc.17@gated-at.bofh.it>
     [not found] ` <tt0r.6Rc.19@gated-at.bofh.it>
     [not found]   ` <tt0r.6Rc.21@gated-at.bofh.it>
     [not found]     ` <tt0r.6Rc.23@gated-at.bofh.it>
     [not found]       ` <tt0r.6Rc.25@gated-at.bofh.it>
     [not found]         ` <tt0q.6Rc.15@gated-at.bofh.it>
     [not found]           ` <tyCN.6RD.13@gated-at.bofh.it>
2003-09-08 20:08             ` Ihar 'Philips' Filipau

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=200309042257.12739.mhf@linuxmail.org \
    --to=mhf@linuxmail.org \
    --cc=clemens-dated-1063536166.2852@endorphin.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=yann.droneaud@mbda.fr \
    /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 NNTP newsgroup(s).