From: FreeBSD-gnats-submit@@freebsd.org
Date: Tue, 18 Dec 2007 15:00:11 GMT (16:00 CET)
To: "Julian H. Stacey" <jhs@@berklix.org>

Thank you very much for your problem report.
It has the internal identification `conf/118823'.
The individual assigned to look at your
report is: freebsd-bugs. 

You can access the state of your problem report at any time
via this link:

http://www.freebsd.org/cgi/query-pr.cgi?pr=118823

>Category:       conf
>Responsible:    freebsd-bugs
>Synopsis:       Remove -pipe from sys.mk it cripples small machines
>Arrival-Date:   Tue Dec 18 15:00:11 UTC 2007

---------

SEND-PR: -*- send-pr -*-
SEND-PR: Lines starting with `SEND-PR' will be removed automatically, as
SEND-PR: will all comments (text enclosed in `<' and `>').
SEND-PR:
SEND-PR: Please consult the following URL if you are not sure how to
SEND-PR: fill out a problem report:
SEND-PR: http://www.freebsd.org/doc/en/articles/problem-reports/
SEND-PR:
SEND-PR: Note that the Synopsis field is mandatory.
SEND-PR:
SEND-PR: Please note that (unless you state otherwise) if your report 
SEND-PR: includes a patch then it will be taken under the same license as 
SEND-PR: the one on the file(s) you want to change.
SEND-PR:
SEND-PR: BE ADVISED THAT FREEBSD PROBLEM REPORTS ARE PUBLIC INFORMATION AND
SEND-PR: WILL BE PUBLISHED AS-IS ON THE PROJECT'S MAILING LISTS AND WEB SITES.
SEND-PR: DO NOT SUBMIT ANY INFORMATION YOU DO NOT WANT MADE PUBLIC.
SEND-PR:
SEND-PR: If you wish to submit a problem report confidentially, then contact
SEND-PR: the FreeBSD bugmaster (bugmaster@@FreeBSD.org) to arrange for a
SEND-PR: relevant developer to be contacted.
SEND-PR:
SEND-PR: For sensitive security issues, consider contacting the FreeBSD
SEND-PR: security officer team (security-officer@@freebsd.org) directly.
SEND-PR:
SEND-PR: Choose from the following categories:
SEND-PR:
SEND-PR: advocacy  alpha     amd64     bin       conf      docs      
SEND-PR: gnu       i386      ia64      java      kern      misc      
SEND-PR: ports     powerpc   sparc64   standards sun4v     threads   
SEND-PR: usb       www       
SEND-PR:
To: FreeBSD-gnats-submit@@freebsd.org
From: Julian H. Stacey <jhs@@berklix.com>
Reply-To: Julian H. Stacey <jhs@@berklix.com>
Cc: jhs@@berklix.com
X-send-pr-version: 3.113
X-GNATS-Notify: 


>Submitter-Id:	current-users
>Originator:	Julian H. Stacey <jhs@@berklix.com>
>Organization:	http://www.berklix.com
>Confidential:	no <FreeBSD PRs are public data>
>Synopsis:	Remove -pipe from sys.mk it cripples small machines
>Severity:	serious 
>Priority:	medium 
>Category:	conf
>Class:		change-request 
>Release:	FreeBSD 6.2-RELEASE amd64 & 7.0BETA4-i386
>Environment:	
System: FreeBSD fire.js.berklix.net 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Mon Sep 17 23:01:21 CEST 2007 jhs@@fire.js.berklix.net:/usr1/src/sys/amd64/compile/FIRE64.small amd64


	<machine, os, target, libraries (multiple lines)>
		FreeBSD 6.2-RELEASE amd64 & 7.0BETA4-i386
>Description:
	Remove -pipe from /usr/share/mk/sys.mk it cripples small machines
>How-To-Repeat:
	<code/input/activities to reproduce the problem (multiple lines)>
	Any older machine with not much RAM or swap
	cd /usr/src/gnu/usr.bin/cc/cc_int ; make
	Watch it eat swap on eg
		cc -O2 -fno-strict-aliasing -Dzonk=bla  -DIN_GCC -DHAVE_CONFIG_H -DPREFIX=\"/usr\" -I/usr/obj/usr/src/gnu/usr.bin/cc/cc_int/../cc_tools -I/usr/src/gnu/usr.bin/cc/cc_int/../cc_tools -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/config -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcclibs/include -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcclibs/libcpp/include -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcclibs/libdecnumber  -c ../cc_tools/insn-attrtab.c
		OK im not sure thats the right proof, but thats how I found this bug.

>Fix:

	Patch appended.

To: stable@@freebsd.org
Fcc: sent
Subject: Re: 7.0BETA4 /usr/src/gnu/usr.bin/cc/cc_int Thrashes 
In-reply-to: <200712181108.lBIB8rAL090380@@fire.js.berklix.net> 
References: <200712181108.lBIB8rAL090380@@fire.js.berklix.net>
Comments: In-reply-to "Julian Stacey" <jhs@@berklix.org>
   message dated "Tue, 18 Dec 2007 12:08:53 +0100."

> Has 7.0-BETA4 perhaps wrongly got a -pipe in the .mk macros ?
> Please someone with generic 7.0BETA4 check with eg:
> 	A single line /etc/make.conf
> 		CFLAGS += -Dzonk=bla
> 	~/tmp/Makefile
> 		tst:
>         		@echo "XX ${CFLAGS} YY"
> 	make tst
> 		XX -O2 -fno-strict-aliasing -pipe -Dzonk=bla  YY
> Is pipe coming from generic mk/ ?
> Or from my local hacked version  ?
> Could someone test please:
> 	My /usr/src is no longer generic, on a very slow CPU, SLIP
> 	linked, building rest of src/ & I'm about to go away, &
> 	will miss the 7-RELEASE date, but -pipe should not be in
> 	generic, needs to be a host dependent choice. )

Error found. I will send-pr.  Patch below stored in :
http://www.berklix.com/~jhs/src/bsd/fixes/FreeBSD/src/gen/share/mk/sys.mk.REL=ALL.diff

pipe should not be on by default as
- It cripples machines with limited memory.
- Pipe can be enabled by any memory rich host in /etc/make.conf with:
	CFLAGS += -pipe
- Man cc lists how to turn it on but not off.
- Man cc also notes assembler problems 

# *** -current/src/share/mk/sys.mk.orig	Tue Dec 18 15:11:26 2007
# --- -current/src/share/mk/sys.mk	Tue Dec 18 15:12:23 2007
# ***************
# *** 36,44 ****
#   .else
#   CC		?=	cc
#   .if ${MACHINE_ARCH} == "arm"
# ! CFLAGS		?=	-O -fno-strict-aliasing -pipe
#   .else
# ! CFLAGS		?=	-O2 -fno-strict-aliasing -pipe
#   .endif
#   .if defined(NO_STRICT_ALIASING)
#   CFLAGS		+=	-fno-strict-aliasing
# --- 36,44 ----
#   .else
#   CC		?=	cc
#   .if ${MACHINE_ARCH} == "arm"
# ! CFLAGS		?=	-O -fno-strict-aliasing
#   .else
# ! CFLAGS		?=	-O2 -fno-strict-aliasing
#   .endif
#   .if defined(NO_STRICT_ALIASING)
#   CFLAGS		+=	-fno-strict-aliasing
# 
# *** 6.2-RELEASE/src/share/mk/sys.mk.orig	Tue Sep 18 09:32:40 2007
# --- 6.2-RELEASE/src/share/mk/sys.mk	Tue Dec 18 15:21:09 2007
# ***************
# *** 35,41 ****
#   CFLAGS		?=	-O
#   .else
#   CC		?=	cc
# ! CFLAGS		?=	-O2 -fno-strict-aliasing -pipe
#   .endif
#   
#   CXX		?=	c++
# --- 35,41 ----
#   CFLAGS		?=	-O
#   .else
#   CC		?=	cc
# ! CFLAGS		?=	-O2 -fno-strict-aliasing
#   .endif
#   
#   CXX		?=	c++

-- 
Julian Stacey. Munich Computer Consultant, BSD Unix C Linux. http://www.berklix.com
	Ihr Rauch = mein allergischer Kopfschmerz. Dump cigs 4 snuff.

