diff options
Diffstat (limited to 'usr/src/tools')
27 files changed, 202 insertions, 50 deletions
diff --git a/usr/src/tools/Makefile b/usr/src/tools/Makefile index e9acd189d8..68bd0e252a 100644 --- a/usr/src/tools/Makefile +++ b/usr/src/tools/Makefile @@ -69,19 +69,20 @@ COMMON_SUBDIRS= \ # # special versions of commands for use only in build # -UNSHIPPED_SUBDIRS = \ - $(SGSMSG) \ - $(SGSLIBCONV) \ - $(SGSLIBELF) \ - $(SGSLIBLDDBG) \ - $(SGSLIBLD) \ - $(SGSLD) \ - geniconvtbl \ - localedef \ - mandoc \ - rpcgen \ - tic \ - vtfontcvt \ +UNSHIPPED_SUBDIRS = \ + $(SGSMSG) \ + $(SGSLIBCONV) \ + $(SGSLIBELF) \ + $(SGSLIBLDDBG) \ + $(SGSLIBLD) \ + $(SGSLD) \ + geniconvtbl \ + localedef \ + man \ + mandoc \ + rpcgen \ + tic \ + vtfontcvt \ zic sparc_SUBDIRS= \ diff --git a/usr/src/tools/README.tools b/usr/src/tools/README.tools index b4d825a39f..33da97204b 100644 --- a/usr/src/tools/README.tools +++ b/usr/src/tools/README.tools @@ -147,6 +147,9 @@ findunref sort > ~/unref-sparc.out $ comm -12 ~/unref-i386.out ~/unref-sparc.out > ~/unref.out +git-active + helper used by webrev to generate file lists for Git workspaces. + hdrchk checks headers for compliance with OS/Net standards (form, includes, C++ guards). diff --git a/usr/src/tools/cpcgen/cpcgen.c b/usr/src/tools/cpcgen/cpcgen.c index 779a782cc6..08384a20d2 100644 --- a/usr/src/tools/cpcgen/cpcgen.c +++ b/usr/src/tools/cpcgen/cpcgen.c @@ -10,7 +10,7 @@ */ /* - * Copyright 2019, Joyent, Inc. + * Copyright 2019 Joyent, Inc. * Copyright 2021 Oxide Computer Company */ @@ -1836,7 +1836,7 @@ cpcgen_gen(int dirfd) "name"); } - if ((fd = openat(dirfd, tmpname, O_RDWR | O_CREAT, 0444)) < 0) { + if ((fd = openat(dirfd, tmpname, O_RDWR | O_CREAT, 0644)) < 0) { err(EXIT_FAILURE, "failed to create temporary file %s", tmpname); } diff --git a/usr/src/tools/ctf/Makefile b/usr/src/tools/ctf/Makefile index 172509dc2f..b8346d3eff 100644 --- a/usr/src/tools/ctf/Makefile +++ b/usr/src/tools/ctf/Makefile @@ -23,7 +23,7 @@ # Copyright 2004 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# Copyright 2019 Joyent, Inc. +# Copyright 2020 Joyent, Inc. # include ../Makefile.tools @@ -36,7 +36,6 @@ all := TARGET= all install := TARGET= install clean := TARGET= clean clobber := TARGET= clobber -lint := TARGET= lint .KEEP_STATE: @@ -45,9 +44,29 @@ ctfdiff: libctf ctfdump: libctf ctfconvert: libctf -all clean clobber install lint: dwarf .WAIT $(SUBDIRS) +all clean clobber install: dwarf .WAIT $(SUBDIRS) dwarf $(SUBDIRS): FRC @cd $@; pwd; $(MAKE) $(TARGET) +# +# This is a somewhat arbitrary list. +# +CTFTOOLS_FILES = \ + bin/i386/ctfconvert \ + bin/i386/ctfdiff \ + bin/i386/ctfdump \ + bin/i386/ctfstabs \ + bin/i386/ctfstrip \ + lib/i386/libctf.so \ + lib/i386/libctf.so.1 \ + lib/i386/libdwarf.so \ + lib/i386/libdwarf.so.1 \ + lib/i386/libelf.so \ + lib/i386/libelf.so.1 + +# CTFTOOLS_TARBALL should be set in the environment +ctftools: install + cd $(ROOTONBLD) && $(TAR) cvzf $(CTFTOOLS_TARBALL) $(CTFTOOLS_FILES) + FRC: diff --git a/usr/src/tools/ctf/Makefile.ctf b/usr/src/tools/ctf/Makefile.ctf index c07310eddf..1fc0b707db 100644 --- a/usr/src/tools/ctf/Makefile.ctf +++ b/usr/src/tools/ctf/Makefile.ctf @@ -22,7 +22,7 @@ # Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# Copyright (c) 2018, Joyent, Inc. +# Copyright (c) 2019, Joyent, Inc. include ../../../Makefile.tools diff --git a/usr/src/tools/ctf/common/utils.h b/usr/src/tools/ctf/common/utils.h index 9b07361a53..4ae2dd0917 100644 --- a/usr/src/tools/ctf/common/utils.h +++ b/usr/src/tools/ctf/common/utils.h @@ -27,9 +27,8 @@ #ifndef _UTILS_H #define _UTILS_H -#pragma ident "%Z%%M% %I% %E% SMI" - #include <stdarg.h> +#include <ctf_headers.h> #ifdef __cplusplus extern "C" { diff --git a/usr/src/tools/ctf/dwarf/Makefile.com b/usr/src/tools/ctf/dwarf/Makefile.com index 3f043681cb..886be7d853 100644 --- a/usr/src/tools/ctf/dwarf/Makefile.com +++ b/usr/src/tools/ctf/dwarf/Makefile.com @@ -96,7 +96,7 @@ FILEMODE = 0755 SRCDIR = $(SRC)/lib/libdwarf/common/ SRCS = $(PICS:%.o=$(SRCDIR)/%.c) -CPPFLAGS += -I$(SRCDIR) -DELF_TARGET_ALL=1 +CPPFLAGS += -I$(ADJUNCT_PROTO)/usr/include -I$(SRCDIR) -DELF_TARGET_ALL=1 CERRWARN += -_gcc=-Wno-unused CERRWARN += -_gcc=-Wno-implicit-function-declaration @@ -104,7 +104,7 @@ CERRWARN += -_gcc=-Wno-implicit-function-declaration SMATCH=off DYNFLAGS += '-R$$ORIGIN/../../lib/$(MACH)' -LDLIBS = -lelf -lc -lz +LDLIBS = -L$(ADJUNCT_PROTO)/lib -R$(ADJUNCT_PROTO)/lib -lelf -lc -lz NATIVE_LIBS += libelf.so libc.so libz.so .KEEP_STATE: diff --git a/usr/src/tools/cw/Makefile b/usr/src/tools/cw/Makefile index 105c1a8c00..a3f2f8faa0 100644 --- a/usr/src/tools/cw/Makefile +++ b/usr/src/tools/cw/Makefile @@ -22,7 +22,7 @@ # Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# Copyright 2018 Joyent, Inc. +# Copyright 2020 Joyent, Inc. PROG = cw diff --git a/usr/src/tools/env/illumos.sh b/usr/src/tools/env/illumos.sh index bde0dfc79f..25e897154f 100644 --- a/usr/src/tools/env/illumos.sh +++ b/usr/src/tools/env/illumos.sh @@ -287,6 +287,12 @@ export SPRO_VROOT="$SPRO_ROOT" # if the 'N' option is not specified, is to run this test. #CHECK_PATHS='y' +# +# These checks ensure that if we accidentally run a program linked against the +# proto area, that we then fail the build. +# +export LD_TOXIC_PATH="$ROOT/lib:$ROOT/usr/lib" + if [[ "$ENABLE_SMATCH" == "1" ]]; then SMATCHBIN=$CODEMGR_WS/usr/src/tools/proto/root_$MACH-nd/opt/onbld/bin/$MACH/smatch export SHADOW_CCS="$SHADOW_CCS smatch,$SMATCHBIN,smatch" diff --git a/usr/src/tools/findunref/exception_list.git b/usr/src/tools/findunref/exception_list.git new file mode 100644 index 0000000000..d14dbd22f0 --- /dev/null +++ b/usr/src/tools/findunref/exception_list.git @@ -0,0 +1,39 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2009 Cyril Plisko. All rights reserved. +# Use is subject to license terms. +# + +# +# Git-specific exception list +# +# See README.exception_lists for details +# + +# +# Without nested repositories, this list could be empty, because ON +# checks for unref relative to usr, and the git files are all in the +# root of the repository. +# + +*/.git diff --git a/usr/src/tools/findunref/exception_list.unknown b/usr/src/tools/findunref/exception_list.unknown new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/usr/src/tools/findunref/exception_list.unknown diff --git a/usr/src/tools/man/Makefile b/usr/src/tools/man/Makefile new file mode 100644 index 0000000000..5f0e685323 --- /dev/null +++ b/usr/src/tools/man/Makefile @@ -0,0 +1,37 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2015, Joyent, Inc. +# + +include $(SRC)/cmd/man/Makefile.com +include ../Makefile.tools + +include ../Makefile.targ + +all: $(PROG) + +$(PROG): $(OBJS) + $(LINK.c) $(OBJS) -o $@ $(LDLIBS) + $(POST_PROCESS) + +%.o: $(SRC)/cmd/man/%.c + $(COMPILE.c) $< + +$(ROOTONBLDMACHPROG): $(PROG) + +install: $(ROOTONBLDMACHPROG) + +clean: + $(RM) $(OBJS) $(LINTFILES) + +include $(SRC)/tools/Makefile.targ diff --git a/usr/src/tools/mandoc/Makefile b/usr/src/tools/mandoc/Makefile index 5a0d085b3c..89afe86788 100644 --- a/usr/src/tools/mandoc/Makefile +++ b/usr/src/tools/mandoc/Makefile @@ -11,7 +11,7 @@ # # Copyright 2017 Nexenta Systems, Inc. -# Copyright 2018 Joyent, Inc. +# Copyright 2019 Joyent, Inc. # CMDDIR= $(SRC)/cmd/mandoc @@ -20,9 +20,9 @@ LCDIR= $(SRC)/lib/libc/port include $(SRC)/tools/Makefile.tools include $(CMDDIR)/Makefile.common -CPPFLAGS += -_gcc=-nostdinc -CPPFLAGS += -I$(NATIVE_ADJUNCT)/include -LDFLAGS += -L$(NATIVE_ADJUNCT)/lib -R$(NATIVE_ADJUNCT)/lib +CPPFLAGS += -_gcc=-nostdinc -I/usr/include -I$(ADJUNCT_PROTO)/usr/include +CPPFLAGS += -D_FILE_OFFSET_BITS=64 +LDFLAGS += -L$(ADJUNCT_PROTO)/lib -R$(ADJUNCT_PROTO)/lib # 3rd party code SMATCH=off diff --git a/usr/src/tools/onbld/Checks/Cddl.py b/usr/src/tools/onbld/Checks/Cddl.py index e2bbf09c02..42cbca2f5a 100644 --- a/usr/src/tools/onbld/Checks/Cddl.py +++ b/usr/src/tools/onbld/Checks/Cddl.py @@ -1,4 +1,4 @@ -#! /usr/bin/python +#!ON_PYTHON CDDL = ''' CDDL HEADER START diff --git a/usr/src/tools/onbld/Checks/CmtBlk.py b/usr/src/tools/onbld/Checks/CmtBlk.py index 57eb5704c1..9400fd7c80 100644 --- a/usr/src/tools/onbld/Checks/CmtBlk.py +++ b/usr/src/tools/onbld/Checks/CmtBlk.py @@ -1,4 +1,4 @@ -#! /usr/bin/python +#!ON_PYTHON # # CDDL HEADER START diff --git a/usr/src/tools/onbld/Checks/Comments.py b/usr/src/tools/onbld/Checks/Comments.py index 8285be2daa..0715bb1b40 100644 --- a/usr/src/tools/onbld/Checks/Comments.py +++ b/usr/src/tools/onbld/Checks/Comments.py @@ -1,4 +1,4 @@ -#! /usr/bin/python +#!ON_PYTHON # # CDDL HEADER START # @@ -41,7 +41,7 @@ from onbld.Checks.DbLookups import BugDB from onbld.Checks.SpellCheck import spellcheck_line -bugre = re.compile(r'^(\d{2,7}) (.*)$') +bugre = re.compile(r'^(\d{2,7}|[A-Z]{1,7}-\d{1,7}) (.*)$') def isBug(comment): diff --git a/usr/src/tools/onbld/Checks/Copyright.py b/usr/src/tools/onbld/Checks/Copyright.py index 81a80058aa..48b44e59ae 100644 --- a/usr/src/tools/onbld/Checks/Copyright.py +++ b/usr/src/tools/onbld/Checks/Copyright.py @@ -1,4 +1,4 @@ -#! /usr/bin/python +#!ON_PYTHON # # CDDL HEADER START # @@ -25,6 +25,8 @@ # # Copyright 2008, 2010, Richard Lowe +# Copyright 2019 Joyent, Inc. +# Copyright 2022 MNX Cloud, Inc. # Make sure there is a copyright claim for the current year. @@ -37,7 +39,7 @@ def is_copyright(line): return re.search(r'Copyright (?!\[yyyy\])', line) def is_current_copyright(line): - return re.search(r'Copyright.*\b%s\b' % time.strftime('%Y'), line) + return re.search(r'Copyright %s MNX Cloud, Inc.$' % time.strftime('%Y'), line) def copyright(fh, filename=None, output=sys.stderr): ret = rights = goodrights = 0 @@ -56,8 +58,8 @@ def copyright(fh, filename=None, output=sys.stderr): err(output, "no copyright message found", filename) ret = 1 elif goodrights == 0: - err(output, "no copyright claim for current year found", - filename) + err(output, "'Copyright %s MNX Cloud, Inc.' not found" % + time.strftime('%Y'), filename) ret = 1 return ret diff --git a/usr/src/tools/onbld/Checks/DbLookups.py b/usr/src/tools/onbld/Checks/DbLookups.py index 84cbbe96bc..d396a68cbc 100644 --- a/usr/src/tools/onbld/Checks/DbLookups.py +++ b/usr/src/tools/onbld/Checks/DbLookups.py @@ -1,4 +1,4 @@ -#! /usr/bin/python +#!ON_PYTHON # # CDDL HEADER START # @@ -26,15 +26,16 @@ # Copyright 2010, Richard Lowe # Copyright 2018 OmniOS Community Edition (OmniOSce) Association. +# Copyright (c) 2019, Joyent, Inc. # # Various database lookup classes/methods, i.e.: -# * monaco -# * bugs.opensolaris.org (b.o.o.) # * redmine (illumos.org) +# * smartos # import re +import json try: from urllib.request import urlopen, Request from urllib.error import HTTPError @@ -66,9 +67,9 @@ class BugDB(object): print r["6505625"]["synopsis"] """ - VALID_DBS = ["illumos"] + VALID_DBS = ["illumos", "smartos"] - def __init__(self, priority = ["illumos"]): + def __init__(self, priority = VALID_DBS): """Create a BugDB object. Keyword argument: @@ -79,6 +80,24 @@ class BugDB(object): raise BugDBException(database) self.__priority = priority + def __smartosbug(self, cr): + url = "http://smartos.org/bugview/json/%s" % cr + req = Request(url) + + try: + data = urlopen(req) + except HTTPError as e: + if e.code == 404 or e.code == 403 or e.code == 400: + raise NonExistentBug(cr) + else: + raise + + bug = json.load(data) + + return {'cr_number': bug['id'], + 'synopsis': bug['summary'] + } + def __illbug(self, cr): url = "http://illumos.org/issues/%s.xml" % cr @@ -121,6 +140,12 @@ class BugDB(object): results[str(cr)] = self.__illbug(cr) except NonExistentBug: continue + elif database == "smartos": + for cr in crs: + try: + results[str(cr)] = self.__smartosbug(cr) + except NonExistentBug: + continue # the CR has already been found by one bug database # so don't bother looking it up in the others diff --git a/usr/src/tools/onbld/Checks/HdrChk.py b/usr/src/tools/onbld/Checks/HdrChk.py index c2697dcaf2..8f7b946d12 100644 --- a/usr/src/tools/onbld/Checks/HdrChk.py +++ b/usr/src/tools/onbld/Checks/HdrChk.py @@ -1,4 +1,4 @@ -#! /usr/bin/python +#!ON_PYTHON # # CDDL HEADER START # diff --git a/usr/src/tools/onbld/Checks/Keywords.py b/usr/src/tools/onbld/Checks/Keywords.py index cd4dda0b69..0866178756 100644 --- a/usr/src/tools/onbld/Checks/Keywords.py +++ b/usr/src/tools/onbld/Checks/Keywords.py @@ -1,4 +1,4 @@ -#! /usr/bin/python +#!ON_PYTHON # # CDDL HEADER START # diff --git a/usr/src/tools/onbld/Checks/Mapfile.py b/usr/src/tools/onbld/Checks/Mapfile.py index 5b40d26005..e4166c5792 100644 --- a/usr/src/tools/onbld/Checks/Mapfile.py +++ b/usr/src/tools/onbld/Checks/Mapfile.py @@ -1,4 +1,4 @@ -#! /usr/bin/python +#!ON_PYTHON # # CDDL HEADER START # diff --git a/usr/src/tools/onbld/Checks/__init__.py b/usr/src/tools/onbld/Checks/__init__.py index 775c5a6e66..afde98c7da 100644 --- a/usr/src/tools/onbld/Checks/__init__.py +++ b/usr/src/tools/onbld/Checks/__init__.py @@ -1,4 +1,4 @@ -#! /usr/bin/python +#!ON_PYTHON # # CDDL HEADER START # diff --git a/usr/src/tools/onbld/Scm/__init__.py b/usr/src/tools/onbld/Scm/__init__.py index f45ecbc95f..8934eb3942 100644 --- a/usr/src/tools/onbld/Scm/__init__.py +++ b/usr/src/tools/onbld/Scm/__init__.py @@ -1,4 +1,4 @@ -#! /usr/bin/python +#!ON_PYTHON # # CDDL HEADER START # @@ -24,5 +24,3 @@ # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# ident "%Z%%M% %I% %E% SMI" -# diff --git a/usr/src/tools/protocmp/stdusers.c b/usr/src/tools/protocmp/stdusers.c index a82b2e0b6d..5564062f1b 100644 --- a/usr/src/tools/protocmp/stdusers.c +++ b/usr/src/tools/protocmp/stdusers.c @@ -39,6 +39,7 @@ const struct stdlist usernames[] = { { "dladm", 15 }, { "netadm", 16 }, { "netcfg", 17 }, + { "smmsp", 25 }, { "listen", 37 }, { "gdm", 50 }, { "lp", 71 }, @@ -67,6 +68,7 @@ const struct stdlist groupnames[] = { { "daemon", 12 }, { "sysadmin", 14 }, { "games", 20 }, + { "smmsp", 25 }, { "gdm", 50 }, { "netadm", 65 }, { "mysql", 70 }, diff --git a/usr/src/tools/scripts/webrev.sh b/usr/src/tools/scripts/webrev.sh index a28e90eb02..66fd2ab854 100644 --- a/usr/src/tools/scripts/webrev.sh +++ b/usr/src/tools/scripts/webrev.sh @@ -2884,7 +2884,12 @@ done # # Output directory. # -WDIR=${WDIR:-$CWS/webrev} +if [[ $SCM_MODE == "git" ]]; then + ws_top_dir=$(dirname $CWS) + WDIR=${WDIR:-$ws_top_dir/webrev} +else + WDIR=${WDIR:-$CWS/webrev} +fi # # Name of the webrev, derived from the workspace name or output directory; diff --git a/usr/src/tools/smatch/Makefile b/usr/src/tools/smatch/Makefile index 2d0365c458..4e59279962 100644 --- a/usr/src/tools/smatch/Makefile +++ b/usr/src/tools/smatch/Makefile @@ -48,7 +48,15 @@ CFLAGS += -DMULTIARCH_TRIPLET=NULL LDCHECKS = $(ZASSERTDEFLIB) $(ZGUIDANCE) $(ZFATALWARNINGS) LDLIBS += $(ZLAZYLOAD) $(ZDIRECT) -lsqlite3 -lmd -lgcc -lm -lc LDFLAGS = $(MAPFILE.NES:%=-Wl,-M%) + +# +# To allow linking to $(NATIVE_ADJUNCT) libraries on both multiarch (where +# 64-bit libraries will be found in $(NATIVE_ADJUNCT)/lib/$(MACH64)) and 64-bit +# images (where 64-bit libraries will be found in $(NATIVE_ADJUNCT)/lib/), we +# set our library and run paths to both locations. +# LDFLAGS += -L$(NATIVE_ADJUNCT)/lib -R$(NATIVE_ADJUNCT)/lib +LDFLAGS += -L$(NATIVE_ADJUNCT)/lib/$(MACH64) -R$(NATIVE_ADJUNCT)/lib/$(MACH64) NATIVE_LIBS += libsqlite3.so libmd.so libm.so libc.so LDFLAGS += $(NATIVE_LIBS:%=$(ZASSERTDEFLIB)=%) @@ -56,6 +64,7 @@ LDFLAGS += $(NATIVE_LIBS:%=$(ZASSERTDEFLIB)=%) CPPFLAGS += -nostdinc CPPFLAGS += -Isrc/ CPPFLAGS += -I$(NATIVE_ADJUNCT)/include +CPPFLAGS += -I/usr/include # no install.bin INS.file = $(RM) $@; $(CP) $< $(@D); $(CHMOD) $(FILEMODE) $@ diff --git a/usr/src/tools/vtfontcvt/Makefile b/usr/src/tools/vtfontcvt/Makefile index 49e996a908..166022685a 100644 --- a/usr/src/tools/vtfontcvt/Makefile +++ b/usr/src/tools/vtfontcvt/Makefile @@ -11,6 +11,7 @@ # # Copyright 2017 Toomas Soome <tsoome@me.com> +# Copyright 2019 Joyent, Inc. # CMDDIR= $(SRC)/cmd/vtfontcvt @@ -33,7 +34,13 @@ $(PROG): $(OBJS) $(LINK.c) $(OBJS) -o $@ $(LDLIBS) $(POST_PROCESS) +# +# In order to build on older platforms, we specifically use the +# source-tree version of queue.h. When building as part of +# $SRC/cmd, we'll be using the $PROTO copy of queue.h anyway, +# so this is a $SRC/tools workaround only. +# %.o: $(CMDDIR)/%.c - $(COMPILE.c) -o $@ $< + $(COMPILE.c) -I$(SRC)/uts/common -o $@ $< include ../Makefile.targ |