From owner-freebsd-hackers@FreeBSD.ORG Sun Jul 23 10:08:42 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DAF8916A4DD for ; Sun, 23 Jul 2006 10:08:42 +0000 (UTC) (envelope-from keramida@ceid.upatras.gr) Received: from igloo.linux.gr (igloo.linux.gr [62.1.205.36]) by mx1.FreeBSD.org (Postfix) with ESMTP id 23C9543D4C for ; Sun, 23 Jul 2006 10:08:41 +0000 (GMT) (envelope-from keramida@ceid.upatras.gr) Received: from gothmog.pc (patr530-a238.otenet.gr [212.205.215.238]) (authenticated bits=128) by igloo.linux.gr (8.13.7/8.13.7/Debian-1) with ESMTP id k6NA8Cdx023995 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sun, 23 Jul 2006 13:08:17 +0300 Received: from gothmog.pc (gothmog [127.0.0.1]) by gothmog.pc (8.13.7/8.13.7) with ESMTP id k6NA80sF024913; Sun, 23 Jul 2006 13:08:01 +0300 (EEST) (envelope-from keramida@ceid.upatras.gr) Received: (from giorgos@localhost) by gothmog.pc (8.13.7/8.13.7/Submit) id k6NA80P2024912; Sun, 23 Jul 2006 13:08:00 +0300 (EEST) (envelope-from keramida@ceid.upatras.gr) Date: Sun, 23 Jul 2006 13:08:00 +0300 From: Giorgos Keramidas To: "R. Tyler Ballance" Message-ID: <20060723100800.GC24435@gothmog.pc> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Hellug-MailScanner: Found to be clean X-Hellug-MailScanner-SpamCheck: not spam, SpamAssassin (score=-3.572, required 5, autolearn=not spam, ALL_TRUSTED -1.80, AWL -0.45, BAYES_00 -2.60, INFO_TLD 1.27) X-Hellug-MailScanner-From: keramida@ceid.upatras.gr X-Spam-Status: No Cc: freebsd-hackers@freebsd.org Subject: Re: Machine-dependent code extension? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Jul 2006 10:08:42 -0000 On 2006-07-22 20:51, "R. Tyler Ballance" wrote: > I'm just wondering, the machine-dependent assembly tied into the i386 > kernel, that's all named ${FILENAME}., while in the arm/ kernel > machine-dependent code is named ${FILENAME}.S, what's the difference? > Or is there none, just a change in convention? It looks like you missed a ".s" extension in the i386 case above, right? If this is what you are asking, then the difference between *.s and *.S is that the latter is preprocessed by cpp(1). The GNU as(1) manual hints at this difference here: File: as.info, Node: Preprocessing, Next: Whitespace, Up: Syntax 3.1 Preprocessing ================= The `as' internal preprocessor: * adjusts and removes extra whitespace. It leaves one space or tab before the keywords on a line, and turns any other whitespace on the line into a single space. * removes all comments, replacing them with a single space, or an appropriate number of newlines. * converts character constants into the appropriate numeric values. It does not do macro processing, include file handling, or anything else you may get from your C compiler's preprocessor. You can do include file processing with the `.include' directive (*note `.include': ! Include.). You can use the GNU C compiler driver to get other "CPP" ! style preprocessing by giving the input file a `.S' suffix. *Note ! Options Controlling the Kind of Output: (gcc.info)Overall Options. Excess whitespace, comments, and character constants cannot be used in the portions of the input text that are not preprocessed.