Re: Clang error make buildworld



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.

_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: r235510: recent buildworld fail
    ... # CFLAGS controls the compiler settings used when compiling C code. ... # or supported for compiling the world or the kernel - please revert any ... # The list of languages and encodings to build and install ...
    (freebsd-current)
  • [RESOLVED] DBD::mysql unresolved symbol _intel_fast_memcpy & mysql-standard-5.0.22-l
    ... Some of you may have wanted to build and install the DBD::mysql ... Mysql**, "...the MySQL Community Server compiled with the Intel CC ... Server compiled with the Intel CC compiler exhibit faster performance ... I will use the following settings for compiling and testing: ...
    (comp.lang.perl.modules)
  • RE: XP/ FC1 on inspiron 5150
    ... the install, which precluded the touchpad from working until I made the ... the GUI based settings worked for me. ... part of the installation process that will prompt you for kernel ... with other options in grub.conf after you successfully boot up. ...
    (Fedora)
  • Re: FC4 Base installed -- no dhcp
    ... just re- install from the standard FC4 Install CDs, ... Also, FC4 uses the 2.4 kernel, IIRC. ... if you develop your compiler ...
    (comp.os.linux.setup)
  • Re: Another Dumb Question for the Linux Heads
    ... Or it may be simpler to install the RT kernel to begin with. ...  I thought every Linux ... system had a compiler. ...
    (rec.audio.pro)