sys/modules: normalize .CURDIR-relative paths to SRCTOPThis simplifies make output/logicTested with: `cd sys/modules; make ALL_MODULES=` on amd64MFC after: 1 monthSponsored by: Dell EMC Isilon
Clang's 3.5 integrated assembler now handles these files correctly (ithas support for the .codeXX directives). However, it is desirable, fora time, to allow kernels to be built with clang 3.4. Hist
Clang's 3.5 integrated assembler now handles these files correctly (ithas support for the .codeXX directives). However, it is desirable, fora time, to allow kernels to be built with clang 3.4. Historically, ithas been advantageous to allow stable X-1 to build kernels the oldway (so long as the impact of doing so is small), and this restoresthat ability.Also, centralize the addition of ${ASM_CFLAGS.${.IMPSRC}}, place it inkern.mk rather than kern.pre.mk so that all modules can benefit, andgive the same treatment to CFLAGS in kern.mk as well.
show more ...
Remove the clang -no-integrated-as workaround for smapi_bios.S, as clang3.5.0 now supports the assembly just fine.
Re-enable -Werror for these modules. It is already enabled for the samefiles when built as part of a kernel.
Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, toget rid of testing explicitly for clang (using ${CC:T:Mclang}) inindividual Makefiles.Instead, use the following extra macros
Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, toget rid of testing explicitly for clang (using ${CC:T:Mclang}) inindividual Makefiles.Instead, use the following extra macros, for use with clang:- NO_WERROR.clang (disables -Werror)- NO_WCAST_ALIGN.clang (disables -Wcast-align)- NO_WFORMAT.clang (disables -Wformat and friends)- CLANG_NO_IAS (disables integrated assembler)- CLANG_OPT_SMALL (adds flags for extra small size optimizations)As a side effect, this enables setting CC/CXX/CPP in src.conf instead ofmake.conf! For clang, use the following:CC=clangCXX=clang++CPP=clang-cppMFC after: 2 weeks
Upgrade our copy of llvm/clang to r126079, from upstream's trunk.This contains many improvements, primarily better C++ support, anintegrated assembler for x86 and support for -pg.
Add WERRROR= to work around the warnings
Add module infrastructure for 'vpd' and 'smbios' and move 'smbios'to new home.