Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 04 May 2011 06:44:18 -0700
From:      Manfred Antar <null@pozo.com>
To:        Dimitry Andric <dim@FreeBSD.org>
Cc:        current@FreeBSD.org
Subject:   Re: Clang error make buildworld
Message-ID:  <201105041344.p44DiOId032272@pozo.com>
In-Reply-To: <4DC0F46C.3020806@FreeBSD.org>
References:  <201105040107.p4417NTR048534@pozo.com> <4DC0F46C.3020806@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
At 11:38 PM 5/3/2011, Dimitry Andric wrote:
>On 2011-05-04 03:07, Manfred Antar wrote:
>>I get this error when trying to buildworld on current i386.
>>It's been this way for awhile Any Ideas ?
>>
>>===>  boot/i386/boot0 (all)
>>clang -O2 -pipe  -DVOLUME_SERIAL -DPXE -DFLAGS=0x8f  -DTICKS=0xb6  -DCOMSPEED="7<<  5 + 3" -ffreestanding -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float -std=gnu99    -c /usr/src/sys/boot/i386/boot0/boot0.S
>>clang: warning: argument unused during compilation: '-mpreferred-stack-boundary=2'
>>/tmp/cc-4SXZt8.s:42:11: error: .code16 not supported yet
>
>For some reason, on your system, it does not compile boot0.S with
>-no-integrated-as.  It works fine here though, so it must be something
>local to your system.  Can you please post:
>
>- Your full make.conf and src.conf
>- The first 30 lines of sys/boot/i386/boot0/Makefile

Ok: 
src.conf:

WITHOUT_DYNAMICROOT=yes                                                                                                            
WITH_IDEA=yes
.if !defined(CC) || ${CC} == "cc"
CC=clang
.endif
.if !defined(CXX) || ${CXX} == "c++"
CXX=clang++
.endif
#Don't die on warnings
NO_WERROR=
WERROR=

make conf:

# $FreeBSD: src/share/examples/etc/make.conf,v 1.276 2006/03/21 09:49:05 ru Exp $
#
# NOTE:  Please would any committer updating this file also update the
# make.conf(5) manual page, if necessary, which is located in
# src/share/man/man5/make.conf.5.
#
# /etc/make.conf, if present, will be read by make (see
# /usr/share/mk/sys.mk).  It allows you to override macro definitions
# to make without changing your source tree, or anything the source
# tree installs.
#
# This file must be in valid Makefile syntax.
#
# There are additional things you can put into /etc/make.conf.
# You have to find those in the Makefiles and documentation of
# the source tree.
#
# Note, that you should not set MAKEOBJDIRPREFIX or MAKEOBJDIR
# from make.conf (or as command line variables to make).
# Both variables are environment variables for make and must be used as:
#
# env MAKEOBJDIRPREFIX=/big/directory make
#
#
# The CPUTYPE variable controls which processor should be targeted for
# generated code.  This controls processor-specific optimizations in
# certain code (currently only OpenSSL) as well as modifying the value
# of CFLAGS to contain the appropriate optimization directive to gcc.
# The automatic setting of CFLAGS may be overridden using the
# NO_CPU_CFLAGS variable below.
# Currently the following CPU types are recognized:
#   Intel x86 architecture:
#       (AMD CPUs)      opteron athlon64 athlon-mp athlon-xp athlon-4
#                       athlon-tbird athlon k8 k6-3 k6-2 k6 k5
#       (Intel CPUs)    nocona pentium4[m] prescott pentium3[m] pentium-m
#                       pentium2 pentiumpro pentium-mmx pentium i486 i386
#   Alpha/AXP architecture: ev67 ev6 pca56 ev56 ev5 ev45 ev4
#   AMD64 architecture: opteron, athlon64, nocona
#   Intel ia64 architecture: itanium2, itanium
#
# (?= allows to buildworld for a different CPUTYPE.)
#
#CPUTYPE?=pentium3
#NO_CPU_CFLAGS=         # Don't add -march=<cpu> to CFLAGS automatically
#NO_CPU_COPTFLAGS=      # Don't add -march=<cpu> to COPTFLAGS automatically
#
# CFLAGS controls the compiler settings used when compiling C code.
# Note that optimization settings other than -O and -O2 are not recommended
# or supported for compiling the world or the kernel - please revert any
# nonstandard optimization settings to "-O" or -O2 before submitting bug
# reports without patches to the developers.
#
#CFLAGS= -O -pipe -Wl,--export-dynamic #FOR APACHE#
#CFLAGS= -O -pipe -no-integrated-as
#
# CXXFLAGS controls the compiler settings used when compiling C++ code.
# Note that CXXFLAGS is initially set to the value of CFLAGS.  If you wish
# to add to CXXFLAGS value, "+=" must be used rather than "=".  Using "="
# alone will remove the often needed contents of CFLAGS from CXXFLAGS.
#
#CXXFLAGS+= -fconserve-space
#
# MAKE_SHELL controls the shell used internally by make(1) to process the
# command scripts in makefiles.  Three shells are supported, sh, ksh, and
# csh.  Using sh is most common, and advised.  Using ksh *may* work, but is
# not guaranteed to.  Using csh is absurd.  The default is to use sh.
#
#MAKE_SHELL?=sh
#
# BDECFLAGS are a set of gcc warning settings that Bruce Evans has suggested
# for use in developing FreeBSD and testing changes.  They can be used by
# putting "CFLAGS+=${BDECFLAGS}" in /etc/make.conf.  -Wconversion is not
# included here due to compiler bugs, e.g., mkdir()'s mode_t argument.
#
#BDECFLAGS=     -W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
#               -Wcast-qual -Wchar-subscripts -Winline \
#               -Wmissing-prototypes -Wnested-externs -Wpointer-arith \
#               -Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings
#
# To compile just the kernel with special optimizations, you should use
# this instead of CFLAGS (which is not applicable to kernel builds anyway).
# There is very little to gain by using higher optimization levels, and doing
# so can cause problems.
#
COPTFLAGS= -O -pipe
#
# Compare before install
#INSTALL=install -C
#
# Mtree will follow symlinks
#MTREE_FOLLOWS_SYMLINKS= -L
#
# To enable installing ssh(1) with the setuid bit turned on
#ENABLE_SUID_SSH=
#
# To enable installing newgrp(1) with the setuid bit turned on.
# Without the setuid bit, newgrp cannot change users' groups.
#ENABLE_SUID_NEWGRP=
#
# To avoid building various parts of the base system:
#NO_MODULES=            # do not build modules with the kernel
#NO_SHARE=              # do not go into the share subdir
#NO_SHARED=             # build /bin and /sbin statically linked (bad idea)
#
# Variables that control how ppp(8) is built.
#PPP_NO_NAT=            # do not build with NAT support (see make.conf(5))
#PPP_NO_NETGRAPH=       # do not build with Netgraph support
#PPP_NO_RADIUS=         # do not build with RADIUS support
#PPP_NO_SUID=           # build with normal permissions
#
#TRACEROUTE_NO_IPSEC=   # do not build traceroute(8) with IPSEC support
#
# To build sys/modules when building the world (our old way of doing things)
#MODULES_WITH_WORLD=    # do not build modules when building kernel
#
# The list of modules to build instead of all of them.
#MODULES_OVERRIDE=      ispfw linux linprocfs acpi
MODULES_OVERRIDE=       linux linprocfs
#
# The list of modules to never build, applied *after* MODULES_OVERRIDE.
#WITHOUT_MODULES=       bktr plip
#
# If you do not want unformatted manual pages to be compressed
# when they are installed:
#
#NO_MANCOMPRESS=
#
#
# Default format for system documentation, depends on your printer.
# Set this to "ascii" for simple printers or screen
#
#PRINTERDEVICE= ps
#
#
# How long to wait for a console keypress before booting the default kernel.
# This value is approximately in milliseconds. Keypresses are accepted by the
# BIOS before booting from disk, making it possible to give custom boot
# parameters even when this is set to 0.
#
#BOOTWAIT=0
#BOOTWAIT=30000
#
# By default, the system will always use the keyboard/video card as system
# console.  However, the boot blocks may be dynamically configured to use a
# serial port in addition to or instead of the keyboard/video console.
#
# By default we use COM1 as our serial console port *if* we're going to use
# a serial port as our console at all.  Alter as necessary.
#
#   COM1: = 0x3F8, COM2: = 0x2F8, COM3: = 0x3E8, COM4: = 0x2E8
#
BOOT_COMCONSOLE_PORT=   0x3F8
#
# The default serial console speed is 9600.  Set the speed to a larger value
# for better interactive response.
#
BOOT_COMCONSOLE_SPEED=  57600
#
# By default the 'pxeboot' loader retrieves the kernel via NFS.  Defining
# this and recompiling /usr/src/sys/boot will cause it to retrieve the kernel
# via TFTP.  This allows pxeboot to load a custom BOOTP diskless kernel yet
# still mount the server's '/' (i.e. rather than load the server's kernel).
#
#LOADER_TFTP_SUPPORT= YES
#
#
# Kerberos 5 su (k5su)
# If you want to use the k5su utility, define this to have it installed
# set-user-ID.
#ENABLE_SUID_K5SU=
#
#
# CVSup update flags.  Edit SUPFILE settings to reflect whichever distribution
# file(s) you use on your site (see /usr/share/examples/cvsup/README for more
# information on CVSup and these files).  To use, do "make update" in /usr/src.
#
SUP_UPDATE=yes
#
SUP=            /usr/local/bin/cvsup
SUPFLAGS=       -L 2 -g
SUPHOST=        cvsup.us.freebsd.org 
SUPFILE=        /usr/src/share/examples/cvsup/standard-supfile
PORTSSUPFILE=   /usr/src/share/examples/cvsup/ports-supfile
DOCSUPFILE=     /usr/src/share/examples/cvsup/doc-supfile
#
# top(1) uses a hash table for the user names.  The size of this hash
# can be tuned to match the number of local users.  The table size should
# be a prime number approximately twice as large as the number of lines in
# /etc/passwd.  The default number is 20011.
#
#TOP_TABLE_SIZE= 101
#
# Documentation
#
# The list of languages and encodings to build and install
#
#DOC_LANG=      en_US.ISO8859-1 ru_RU.KOI8-R
#
#
# sendmail
#
# The following sets the default m4 configuration file to use at
# install time.  Use with caution as a make install will overwrite
# any existing /etc/mail/sendmail.cf.  Note that SENDMAIL_CF is now
# deprecated.  The value should be a fully qualified path name.
#
SENDMAIL_MC=/root/sendmail/pozo.mc
#
# The following sets the default m4 configuration file for mail
# submission to use at install time.  Use with caution as a make
# install will overwrite any existing /etc/mail/submit.cf.  The
# value should be a fully qualified path name.
#
SENDMAIL_SUBMIT_MC=/root/sendmail/pozo-submit.mc
#
# If you need to build additional .cf files during a make buildworld,
# include the full paths to the .mc files in SENDMAIL_ADDITIONAL_MC.
#
#SENDMAIL_ADDITIONAL_MC=/etc/mail/foo.mc /etc/mail/bar.mc
#
# The following overrides the default location for the m4 configuration
# files used to build a .cf file from a .mc file.
#
#SENDMAIL_CF_DIR=/usr/local/share/sendmail/cf
#
# Setting the following variable modifies the flags passed to m4 when
# building a .cf file from a .mc file.  It can be used to enable
# features disabled by default.
#
#SENDMAIL_M4_FLAGS=
#
# Setting the following variables modifies the build environment for
# sendmail and its related utilities. For example, SASL support can be
# added with settings such as:
#
#    with SASLv1:
#       SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
#       SENDMAIL_LDFLAGS=-L/usr/local/lib
#       SENDMAIL_LDADD=-lsasl
#
#    with SASLv2:
#       SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
#       SENDMAIL_LDFLAGS=-L/usr/local/lib
#       SENDMAIL_LDADD=-lsasl2
#
# Note: If you are using Cyrus SASL with other applications which require
#       access to the sasldb file, you should add the following to your
#       sendmail.mc file:
#
#       define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLDBFile')
#
#
SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2
#SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
#SENDMAIL_LDFLAGS=-L/usr/local/lib -R/usr/local/lib -L/usr/local/lib/mysql -R/usr/local/lib/mysql
#SENDMAIL_LDADD=-lsasl -lmysqlclient -ldb3
#SENDMAIL_DPADD=
#
# Setting SENDMAIL_SET_USER_ID will install the sendmail binary as a
# set-user-ID root binary instead of a set-group-ID smmsp binary and will
# prevent the installation of /etc/mail/submit.cf.
# This is a deprecated mode of operation.  See etc/mail/README for more
# information.
#
#SENDMAIL_SET_USER_ID=
#
# The permissions to use on alias and map databases generated using
# /etc/mail/Makefile.  Defaults to 0640.
#
#SENDMAIL_MAP_PERMS=
#
#
########My Stuff########################################################
APACHE_PORT?=www/apache22
INSTALL_NODEBUG=yes
X_WINDOW_SYSTEM=xorg
HAVE_MOTIF=yes
USA_RESIDENT=YES
FORCE_PKG_REGISTER=YES
KERNCONF=COMPAQ
JADETEX=yes
WITH_ISPELL=yes
WITH_LZW=yes
WITH_MUTT_NNTP=yes
#WITH_MUTT_MBOX_HOOK_PATCH=yes
WITH_MUTT_EDIT_THREADS=yes
WITH_MUTT_SLANG2=yes
MUTT_USES_SLANG2=yes
WITH_MUTT_ASPELL=yes
#WITH_MUTT-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
MENU=yes
WITH_MUTT_IFDEF_PATCH=yes
WITH_MUTT_MAILDIR_MTIME_PATCH=yes
WITH_ARTS=yes
WITH_ESOUND=yes
WITH_GUI=yes
ENABLE_SUIDPERL=yes
WITH_GDBM=yes
WITHOUT_PERL_MALLOC=yes
INLINE_IMAGE=yes
WITH_TOC2MP3=yes
WITHOUT_PILOT=yes
WANT_STATIC_BASH=yes
WITH_SSL_AND_PLAINTEXT=yes
WITH_BDB_VER=41
WITH_STATIC_BASH=yes
WITH_OPENSSL_BASE=yes
BUILD_STATIC=yes
##########NVIDIA##############
WITH_NVIDIA_GL=no
WITHOUT_XVMC=yes
####RXVT STUFF #######
WITH_GRAPHICS=yes
WITH_MENUBAR=yes
WITH_NEXT_SCROLLBAR=yes
WITH_SMART_RESIZE=yes 
######FFMPEG############
WITH_DTS=YES
WITH_FAAC=YES
WITH_FAAD=YES
WITH_FREETYPE2=YES
WITH_LAME=YES
WITH_VORBIS=YES
WITH_X264=YES
WITH_XVID=YES
WITH_GECKO=libxul
# added by use.perl 2011-01-25 10:00:28
PERL_VERSION=5.12.3


# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.37 2011/02/20 19:33:47 dim Exp $

PROG?=  boot0
STRIP=
BINMODE=${NOBINMODE}
NO_MAN=
SRCS=   ${PROG}.S

# Additional options that you can specify with make OPTS="..."
# (these only apply to boot0.S)
#
#       -DVOLUME_SERIAL support volume serial number (NT, XP, Vista)
#       -DSIO           do I/O using COM1:
#       -DPXE           fallback to INT18/PXE with F6
#       -DCHECK_DRIVE   enable checking drive number
#       -DONLY_F_KEYS   accept only Fx keys in console
#       -DTEST          print drive number on entry
#
OPTS ?= -DVOLUME_SERIAL -DPXE
CFLAGS += ${OPTS}

.if ${CC:T:Mclang} == "clang"
# XXX: clang integrated-as doesn't grok .codeNN directives yet
CFLAGS+=        ${.IMPSRC:T:Mboot0.S:C/^.+$/-no-integrated-as/}
CFLAGS+=        ${.IMPSRC:T:Mboot0ext.S:C/^.+$/-no-integrated-as/}
.endif

# Flags used in the boot0.S code:
#   0x0f        all valid partitions enabled.
#   0x80        'packet', use BIOS EDD (LBA) extensions instead of CHS
#               to read from disk. boot0.S does not check that the extensions
#               are supported, but all modern BIOSes should have them.
#   0x40        'noupdate', disable writing boot0 back to disk so that
#               the current selection is not preserved across reboots.
#   0x20        'setdrv', override the drive number supplied by the bios
#               with the one in the boot sector. 




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