Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Apr 1999 22:08:29 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Peter Jeremy <peter.jeremy@auss2.alcatel.com.au>
Cc:        andreas@klemm.gtn.com, freebsd-current@FreeBSD.ORG
Subject:   Re: different systat -vmstat output when using egcs to compile kernel
Message-ID:  <199904050508.WAA06171@apollo.backplane.com>
References:   <99Apr5.110314est.40323@border.alcanet.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
:>  1     1 22       407    2 2533  456  264    1  13908 wire    243 \nclk0 irq
:>                                                                   ^^ !!!
:
:I recognize that from gcc-2.8.1:  The cpp behaviour changed and resulted
:in the DEVICE_NAMES macro in vector.h being incorrectly expanded.  I
:suspect the same `bug' is in EGCS.
:
:The problem is that cpp (from gcc 2.8.1) _does_not_ remove
:backslash-newline sequences from string constants (and maybe elsewhere
:as well).  This causes problems with the DEVICE_NAMES macro defined in
:vector.h and used in vector.s.  I have reported this to bug-gcc (in
:mid-June) but haven't seen any response.
:
:At this time, I don't know of any way to disable this - the only work-
:around is to use a gcc-2.7.x derived cpp (eg the standard cpp).  This
:implies changing NORMAL_S and DRIVER_S in /sys/i386/conf/Makefile.i386
:to explicitly use the old (2.7.2.1-derived) cpp in front of as.

    I suggest using ANSI string constants instead of K&R string constants.

    This is perfectly legal:

	char *s = "abcdefghi";

	char *s = "abc" "def" "ghi";

	char *s = "abc"
		  "def"
		  "ghi";

:Given that it seems unlikely that we're going to get a fix in either
:egcs or gas in a hurry, our options appear to be:
:1) Keep the gcc2.7.2 cpp around for pre-processing .S
:2) switch to m4 (yuk)
:3) change config to work around the bug.
:4) write a sed (or similar script) to pre-process vector.s
:
:Peter

						-Matt


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904050508.WAA06171>