diff options
Diffstat (limited to 'usr')
36 files changed, 279 insertions, 235 deletions
diff --git a/usr/src/cmd/awk/Makefile b/usr/src/cmd/awk/Makefile index f0261a4bf2..3eb805c71a 100644 --- a/usr/src/cmd/awk/Makefile +++ b/usr/src/cmd/awk/Makefile @@ -77,7 +77,7 @@ proctab.c: maketab rm -f $@; ./maketab > $@ maketab: maketab.c - $(NATIVECC) -O maketab.c -o $@ $(LDLIBS) + $(NATIVECC) $(NATIVE_CFLAGS) maketab.c -o $@ $(LDLIBS) install: all $(ROOTPROG) $(ROOTLINK) diff --git a/usr/src/cmd/boot/common/mboot_extra.h b/usr/src/cmd/boot/common/mboot_extra.h index fb48c52a69..bd5af890a7 100644 --- a/usr/src/cmd/boot/common/mboot_extra.h +++ b/usr/src/cmd/boot/common/mboot_extra.h @@ -35,7 +35,7 @@ extern "C" { #include "bblk_einfo.h" /* multiboot header needs to be located in the first 32KB. */ -#define MBOOT_SCAN_SIZE (32 * 1024 * 1024) +#define MBOOT_SCAN_SIZE (32 * 1024) /* multiboot header AOUT_KLUDGE flag. */ #define BB_MBOOT_AOUT_FLAG (0x00010000) diff --git a/usr/src/cmd/man/man.c b/usr/src/cmd/man/man.c index d181c6d374..08ec0f02f3 100644 --- a/usr/src/cmd/man/man.c +++ b/usr/src/cmd/man/man.c @@ -23,7 +23,7 @@ * Copyright (c) 1990, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2012, Josef 'Jeff' Sipek <jeffpc@31bits.net>. All rights reserved. * Copyright 2014 Garrett D'Amore <garrett@damore.org> - * Copyright 2015 Nexenta Systems, Inc. All rights reserved. + * Copyright 2016 Nexenta Systems, Inc. */ /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T. */ @@ -529,20 +529,22 @@ getsect(struct man_node *manp, char **pv) manp->secv = NULL; get_all_sect(manp); } else if (sargs) { + DPRINTF("-- Adding %s: sections=%s\n", manp->path, mansec); manp->secv = split(mansec, ','); for (sectp = manp->secv; *sectp; sectp++) lower(*sectp); } else if ((sections = strchr(*pv, ',')) != NULL) { - DPRINTF("-- Adding %s: MANSECTS=%s\n", manp->path, sections); - manp->secv = split(++sections, ','); + sections++; + DPRINTF("-- Adding %s: sections=%s\n", manp->path, sections); + manp->secv = split(sections, ','); for (sectp = manp->secv; *sectp; sectp++) lower(*sectp); if (*manp->secv == NULL) get_all_sect(manp); } else if ((sections = check_config(*pv)) != NULL) { manp->defsrch = 1; - DPRINTF("-- Adding %s: from %s, MANSECTS=%s\n", manp->path, - CONFIG, sections); + DPRINTF("-- Adding %s: sections=%s (from %s)\n", manp->path, + sections, CONFIG); manp->secv = split(sections, ','); for (sectp = manp->secv; *sectp; sectp++) lower(*sectp); @@ -550,7 +552,7 @@ getsect(struct man_node *manp, char **pv) get_all_sect(manp); } else { manp->defsrch = 1; - DPRINTF("-- Adding %s: default sort order\n", manp->path); + DPRINTF("-- Adding %s: default search order\n", manp->path); manp->secv = NULL; get_all_sect(manp); } @@ -1289,9 +1291,10 @@ check_config(char *path) { FILE *fp; char *rc = NULL; - char *sect; + char *sect = NULL; char fname[MAXPATHLEN]; char *line = NULL; + char *nl; size_t linecap = 0; (void) snprintf(fname, MAXPATHLEN, "%s/%s", path, CONFIG); @@ -1300,18 +1303,20 @@ check_config(char *path) return (NULL); while (getline(&line, &linecap, fp) > 0) { - if ((rc = strstr(line, "MANSECTS")) != NULL) + if ((rc = strstr(line, "MANSECTS=")) != NULL) break; } (void) fclose(fp); - if (rc == NULL || (sect = strchr(line, '=')) == NULL) - return (NULL); - else - return (++sect); -} + if (rc != NULL) { + if ((nl = strchr(rc, '\n')) != NULL) + *nl = '\0'; + sect = strchr(rc, '=') + 1; + } + return (sect); +} /* * Initialize the bintoman array with appropriate device and inode info. @@ -1519,7 +1524,8 @@ path_to_manpath(char *bindir) * Free a linked list of dupnode structs. */ void -free_dupnode(struct dupnode *dnp) { +free_dupnode(struct dupnode *dnp) +{ struct dupnode *dnp2; struct secnode *snp; diff --git a/usr/src/cmd/mdb/common/modules/genunix/vfs.c b/usr/src/cmd/mdb/common/modules/genunix/vfs.c index 3ea333ddf8..578f8ce6b1 100644 --- a/usr/src/cmd/mdb/common/modules/genunix/vfs.c +++ b/usr/src/cmd/mdb/common/modules/genunix/vfs.c @@ -528,7 +528,7 @@ pfiles_dig_pathname(uintptr_t vp, char *path) } const struct fs_type { - int type; + vtype_t type; const char *name; } fs_types[] = { { VNON, "NON" }, @@ -947,9 +947,11 @@ pfile_callback(uintptr_t addr, const struct file *f, struct pfiles_cbdata *cb) } type = "?"; - for (i = 0; i <= NUM_FS_TYPES; i++) { - if (fs_types[i].type == v.v_type) + for (i = 0; i < NUM_FS_TYPES; i++) { + if (fs_types[i].type == v.v_type) { type = fs_types[i].name; + break; + } } do { diff --git a/usr/src/cmd/mdb/common/modules/uhci/uhci.c b/usr/src/cmd/mdb/common/modules/uhci/uhci.c index 5af48b97db..0129cf5147 100644 --- a/usr/src/cmd/mdb/common/modules/uhci/uhci.c +++ b/usr/src/cmd/mdb/common/modules/uhci/uhci.c @@ -24,8 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include <gelf.h> #include <sys/mdb_modapi.h> @@ -485,7 +483,7 @@ uhci_td_walk_step(mdb_walk_state_t *wsp) if (mdb_vread(wsp->walk_data, sizeof (uhci_td_t), wsp->walk_addr) - == -1) { + == -1) { mdb_warn("failed to read td at %p", wsp->walk_addr); return (WALK_DONE); } @@ -584,8 +582,8 @@ uhci_qh_walk_step(mdb_walk_state_t *wsp) } /* Make sure next element is a QH. If a TD, stop. */ - if (! ((((queue_head_t *)wsp->walk_data)->link_ptr) & HC_QUEUE_HEAD) - == HC_QUEUE_HEAD) { + if (((((queue_head_t *)wsp->walk_data)->link_ptr) & HC_QUEUE_HEAD) + != HC_QUEUE_HEAD) { return (WALK_DONE); } diff --git a/usr/src/cmd/sgs/elfdump/Makefile.targ b/usr/src/cmd/sgs/elfdump/Makefile.targ index 971d9dfeb4..a0125d8a3d 100644 --- a/usr/src/cmd/sgs/elfdump/Makefile.targ +++ b/usr/src/cmd/sgs/elfdump/Makefile.targ @@ -65,7 +65,7 @@ gen_layout_obj.o := CFLAGS64 += $(CTF_FLAGS) gen_layout_obj.o := POST_PROCESS_O = $(CTFCONVERT_O) gen_struct_layout: ../common/gen_struct_layout.c - $(NATIVECC) $(NATIVECC_CFLAGS) -o $@ \ + $(NATIVECC) $(NATIVE_CFLAGS) -o $@ \ ../common/gen_struct_layout.c -lctf clean: diff --git a/usr/src/cmd/sgs/tools/Makefile.com b/usr/src/cmd/sgs/tools/Makefile.com index 75c6dee092..6c7ba8f99d 100644 --- a/usr/src/cmd/sgs/tools/Makefile.com +++ b/usr/src/cmd/sgs/tools/Makefile.com @@ -44,7 +44,6 @@ COMOBJS= NATOBJS= piglatin.o OBJECTS= $(COMOBJS) $(NATOBJS) -NATIVECC_CFLAGS = -O AVLOBJ= avl.o TOOL_OBJS= sgsmsg.o string_table.o findprime.o assfail.o @@ -52,7 +51,7 @@ SGSMSG_OBJS= $(TOOL_OBJS) $(AVLOBJ) SGSMSG_SRCS= $(TOOL_OBJS:%.o=../common/%.c) \ $(AVLOBJ:%.o=$(VAR_AVLDIR)/%.c) -$(SGSMSG_OBJS) := NATIVECC_CFLAGS += -I../../include $(VAR_TOOLS_CPPFLAGS) +$(SGSMSG_OBJS) := NATIVE_CFLAGS += -I../../include $(VAR_TOOLS_CPPFLAGS) PROGS= $(COMOBJS:%.o=%) NATIVE= $(NATOBJS:%.o=%) sgsmsg diff --git a/usr/src/cmd/sgs/tools/Makefile.targ b/usr/src/cmd/sgs/tools/Makefile.targ index a1f5305117..5ae70de358 100644 --- a/usr/src/cmd/sgs/tools/Makefile.targ +++ b/usr/src/cmd/sgs/tools/Makefile.targ @@ -20,12 +20,10 @@ # CDDL HEADER END # # -# ident "%Z%%M% %I% %E% SMI" # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# cmd/sgs/tools/Makefile.targ $(ROOTDIR)/bin/%: % @@ -35,22 +33,22 @@ $(ROOTDIR)/lib/%: % $(INS.file) sgsmsg: $(SGSMSG_OBJS) - $(NATIVECC) $(DEBUG) $(NATIVECC_CFLAGS) \ + $(NATIVECC) $(DEBUG) $(NATIVE_CFLAGS) \ -o $@ $(SGSMSG_OBJS) sgsmsg.o: ../common/sgsmsg.c - $(NATIVECC) $(DEBUG) $(NATIVECC_CFLAGS) -c ../common/sgsmsg.c + $(NATIVECC) $(DEBUG) $(NATIVE_CFLAGS) -c ../common/sgsmsg.c string_table.o: ../common/string_table.c - $(NATIVECC) $(DEBUG) $(NATIVECC_CFLAGS) -c \ + $(NATIVECC) $(DEBUG) $(NATIVE_CFLAGS) -c \ ../common/string_table.c avl.o: $(VAR_AVLDIR)/avl.c - $(NATIVECC) $(DEBUG) $(NATIVECC_CFLAGS) -c \ + $(NATIVECC) $(DEBUG) $(NATIVE_CFLAGS) -c \ $(VAR_AVLDIR)/avl.c piglatin: ../common/piglatin.c - $(NATIVECC) $(NATIVECC_CFLAGS) -o $@ ../common/piglatin.c + $(NATIVECC) $(NATIVE_CFLAGS) -o $@ ../common/piglatin.c %: %.o $(LINK.c) -o $@ $< $(LDLIBS) diff --git a/usr/src/cmd/sgs/tools/common/sgsmsg.c b/usr/src/cmd/sgs/tools/common/sgsmsg.c index 1cdd584c74..f09b8539bb 100644 --- a/usr/src/cmd/sgs/tools/common/sgsmsg.c +++ b/usr/src/cmd/sgs/tools/common/sgsmsg.c @@ -665,6 +665,7 @@ file() uint_t bufsize; char *token_buffer; int escape = 0; + int len = 0; if ((token_buffer = malloc(LINE_MAX)) == 0) { (void) fprintf(stderr, Errmsg_nmem, strerror(errno)); @@ -676,7 +677,6 @@ file() while ((token = fgets(buffer, LINE_MAX, fddesc)) != NULL) { char defn[PATH_MAX], * _defn, * str; - int len; switch (*token) { case '#': diff --git a/usr/src/cmd/zic/Makefile b/usr/src/cmd/zic/Makefile index 43a2db0ba0..5984f9a689 100644 --- a/usr/src/cmd/zic/Makefile +++ b/usr/src/cmd/zic/Makefile @@ -66,7 +66,7 @@ install: all $(DIRS) $(ROOTTZSRCD) $(ROOTTZTABD) $(ROOTUSRSBINPROG) \ $(NPROG) -d $(ROOTTZD) $(TZFILES) $(NPROG): $(NATIVE) $(NOBJS) - $(NATIVECC) -o $@ $(NOBJS) + $(NATIVECC) $(NATIVE_CFLAGS) -o $@ $(NOBJS) # # XXX @@ -95,16 +95,10 @@ clean: lint: lint_SRCS $(NOBJS): $$(@F:.o=.c) - $(NATIVECC) -O $(NCPPFLAGS) -c -o $@ $(@F:.o=.c) + $(NATIVECC) -O $(NATIVE_CFLAGS) $(NCPPFLAGS) -c -o $@ $(@F:.o=.c) $(NATIVE)/zic.o: $(NATIVE)/tzfile.h -#$(NATIVE)/scheck.o: scheck.c -# $(NATIVECC) -c -o $@ scheck.c - -#$(NATIVE)/ialloc.o: ialloc.c -# $(NATIVECC) -c -o $@ ialloc.c - $(NATIVE)/tzfile.h: $(ROOT)/usr/include/tzfile.h $(RM) $@; cp $(ROOT)/usr/include/tzfile.h $@ diff --git a/usr/src/common/zfs/zfeature_common.c b/usr/src/common/zfs/zfeature_common.c index 1c80f2fcac..2ca2120f4b 100644 --- a/usr/src/common/zfs/zfeature_common.c +++ b/usr/src/common/zfs/zfeature_common.c @@ -130,6 +130,16 @@ zfeature_depends_on(spa_feature_t fid, spa_feature_t check) return (B_FALSE); } +static boolean_t +deps_contains_feature(const spa_feature_t *deps, const spa_feature_t feature) +{ + for (int i = 0; deps[i] != SPA_FEATURE_NONE; i++) + if (deps[i] == feature) + return (B_TRUE); + + return (B_FALSE); +} + static void zfeature_register(spa_feature_t fid, const char *guid, const char *name, const char *desc, zfeature_flags_t flags, const spa_feature_t *deps) @@ -147,6 +157,9 @@ zfeature_register(spa_feature_t fid, const char *guid, const char *name, if (deps == NULL) deps = nodeps; + VERIFY(((flags & ZFEATURE_FLAG_PER_DATASET) == 0) || + (deps_contains_feature(deps, SPA_FEATURE_EXTENSIBLE_DATASET))); + feature->fi_feature = fid; feature->fi_guid = guid; feature->fi_uname = name; @@ -188,8 +201,10 @@ zpool_feature_init(void) "Record txg at which a feature is enabled", ZFEATURE_FLAG_READONLY_COMPAT, NULL); - static spa_feature_t hole_birth_deps[] = { SPA_FEATURE_ENABLED_TXG, - SPA_FEATURE_NONE }; + static spa_feature_t hole_birth_deps[] = { + SPA_FEATURE_ENABLED_TXG, + SPA_FEATURE_NONE + }; zfeature_register(SPA_FEATURE_HOLE_BIRTH, "com.delphix:hole_birth", "hole_birth", "Retain hole birth txg for more precise zfs send", @@ -211,8 +226,8 @@ zpool_feature_init(void) ZFEATURE_FLAG_READONLY_COMPAT, bookmarks_deps); static const spa_feature_t filesystem_limits_deps[] = { - SPA_FEATURE_EXTENSIBLE_DATASET, - SPA_FEATURE_NONE + SPA_FEATURE_EXTENSIBLE_DATASET, + SPA_FEATURE_NONE }; zfeature_register(SPA_FEATURE_FS_SS_LIMIT, "com.joyent:filesystem_limits", "filesystem_limits", @@ -234,16 +249,30 @@ zpool_feature_init(void) "Support for blocks larger than 128KB.", ZFEATURE_FLAG_PER_DATASET, large_blocks_deps); + static const spa_feature_t sha512_deps[] = { + SPA_FEATURE_EXTENSIBLE_DATASET, + SPA_FEATURE_NONE + }; zfeature_register(SPA_FEATURE_SHA512, "org.illumos:sha512", "sha512", "SHA-512/256 hash algorithm.", - ZFEATURE_FLAG_PER_DATASET, NULL); + ZFEATURE_FLAG_PER_DATASET, sha512_deps); + + static const spa_feature_t skein_deps[] = { + SPA_FEATURE_EXTENSIBLE_DATASET, + SPA_FEATURE_NONE + }; zfeature_register(SPA_FEATURE_SKEIN, "org.illumos:skein", "skein", "Skein hash algorithm.", - ZFEATURE_FLAG_PER_DATASET, NULL); + ZFEATURE_FLAG_PER_DATASET, skein_deps); + + static const spa_feature_t edonr_deps[] = { + SPA_FEATURE_EXTENSIBLE_DATASET, + SPA_FEATURE_NONE + }; zfeature_register(SPA_FEATURE_EDONR, "org.illumos:edonr", "edonr", "Edon-R hash algorithm.", - ZFEATURE_FLAG_PER_DATASET, NULL); + ZFEATURE_FLAG_PER_DATASET, edonr_deps); } diff --git a/usr/src/grub/grub-0.97/Makefile.solaris.defs b/usr/src/grub/grub-0.97/Makefile.solaris.defs index 9a9455ea76..e66071b064 100644 --- a/usr/src/grub/grub-0.97/Makefile.solaris.defs +++ b/usr/src/grub/grub-0.97/Makefile.solaris.defs @@ -42,7 +42,7 @@ OPTION_DOCS = $(POUND_SIGN) OPTION_FS = $(POUND_SIGN) -BASE_CFLAGS = -B$(GCC_ROOT)/bin/ -g $(CPPFLAGS) $(OPTFLAGS) +BASE_CFLAGS = -B$(GCC_ROOT)/bin/ -g $(CPPFLAGS) $(OPTFLAGS) -std=gnu89 BASE_CCASFLAGS = -B$(GCC_ROOT)/bin/ -g $(CPPFLAGS) $(OPTFLAGS) BASE_LDFLAGS = diff --git a/usr/src/grub/grub-0.97/netboot/io.h b/usr/src/grub/grub-0.97/netboot/io.h index a6e4880e3f..7593419e32 100644 --- a/usr/src/grub/grub-0.97/netboot/io.h +++ b/usr/src/grub/grub-0.97/netboot/io.h @@ -1,7 +1,8 @@ +#include <sys/ccompile.h> + #ifndef IO_H #define IO_H - /* Amount of relocation etherboot is experiencing */ extern unsigned long virt_offset; @@ -107,7 +108,7 @@ static inline void iounmap(void *virt_addr __unused) * Some non intel clones support out of order store. wmb() ceases to be a * nop for these. */ - + #define mb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory") #define rmb() mb() #define wmb() mb(); @@ -119,7 +120,8 @@ static inline void iounmap(void *virt_addr __unused) #define __OUT1(s,x) \ extern void __out##s(unsigned x value, unsigned short port); \ -extern inline void __out##s(unsigned x value, unsigned short port) { +extern __GNU_INLINE \ +void __out##s(unsigned x value, unsigned short port) { #define __OUT2(s,s1,s2) \ __asm__ __volatile__ ("out" #s " %" s1 "0,%" s2 "1" @@ -132,7 +134,8 @@ __OUT1(s##c_p,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); SLOW_DOWN_IO; } #define __IN1(s,x) \ extern unsigned x __in##s(unsigned short port); \ -extern inline unsigned x __in##s(unsigned short port) { unsigned x _v; +extern __GNU_INLINE \ +unsigned x __in##s(unsigned short port) { unsigned x _v; #define __IN2(s,s1,s2) \ __asm__ __volatile__ ("in" #s " %" s2 "1,%" s1 "0" @@ -145,13 +148,15 @@ __IN1(s##c_p,x) __IN2(s,s1,"") : "=a" (_v) : "id" (port) ,##i ); SLOW_DOWN_IO; r #define __INS(s) \ extern void ins##s(unsigned short port, void * addr, unsigned long count); \ -extern inline void ins##s(unsigned short port, void * addr, unsigned long count) \ +extern __GNU_INLINE \ +void ins##s(unsigned short port, void * addr, unsigned long count) \ { __asm__ __volatile__ ("cld ; rep ; ins" #s \ : "=D" (addr), "=c" (count) : "d" (port),"0" (addr),"1" (count)); } #define __OUTS(s) \ extern void outs##s(unsigned short port, const void * addr, unsigned long count); \ -extern inline void outs##s(unsigned short port, const void * addr, unsigned long count) \ +extern __GNU_INLINE \ +void outs##s(unsigned short port, const void * addr, unsigned long count) \ { __asm__ __volatile__ ("cld ; rep ; outs" #s \ : "=S" (addr), "=c" (count) : "d" (port),"0" (addr),"1" (count)); } diff --git a/usr/src/lib/libc/amd64/Makefile b/usr/src/lib/libc/amd64/Makefile index af70e66123..12c0d96168 100644 --- a/usr/src/lib/libc/amd64/Makefile +++ b/usr/src/lib/libc/amd64/Makefile @@ -1228,7 +1228,7 @@ $(ASSYMDEP_OBJS:%=pics/%): assym.h GENASSYM_C = genassym.c genassym: $(GENASSYM_C) - $(NATIVECC) -Iinc -I$(LIBCDIR)/inc $(CPPFLAGS.native) \ + $(NATIVECC) $(NATIVE_CFLAGS) -Iinc -I$(LIBCDIR)/inc $(CPPFLAGS.native) \ -o $@ $(GENASSYM_C) OFFSETS = $(LIBCDIR)/$(MACH)/offsets.in diff --git a/usr/src/lib/libc/i386/Makefile.com b/usr/src/lib/libc/i386/Makefile.com index a0d52d386b..c03b4e7468 100644 --- a/usr/src/lib/libc/i386/Makefile.com +++ b/usr/src/lib/libc/i386/Makefile.com @@ -1309,7 +1309,7 @@ $(ASSYMDEP_OBJS:%=pics/%): assym.h GENASSYM_C = $(LIBCDIR)/$(MACH)/genassym.c genassym: $(GENASSYM_C) - $(NATIVECC) -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc \ + $(NATIVECC) $(NATIVE_CFLAGS) -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc \ -D__EXTENSIONS__ $(CPPFLAGS.native) -o $@ $(GENASSYM_C) OFFSETS = $(LIBCDIR)/$(MACH)/offsets.in diff --git a/usr/src/lib/libc/sparc/Makefile.com b/usr/src/lib/libc/sparc/Makefile.com index aba666de92..d8facb71b9 100644 --- a/usr/src/lib/libc/sparc/Makefile.com +++ b/usr/src/lib/libc/sparc/Makefile.com @@ -1387,7 +1387,7 @@ assym.h := CFLAGS += -g GENASSYM_C = $(LIBCDIR)/$(MACH)/genassym.c genassym: $(GENASSYM_C) - $(NATIVECC) -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc \ + $(NATIVECC) $(NATIVE_CFLAGS) -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc \ $(CPPFLAGS.native) -o $@ $(GENASSYM_C) OFFSETS = $(LIBCDIR)/$(MACH)/offsets.in diff --git a/usr/src/lib/libc/sparcv9/Makefile.com b/usr/src/lib/libc/sparcv9/Makefile.com index 1f3db50dad..672a0ced45 100644 --- a/usr/src/lib/libc/sparcv9/Makefile.com +++ b/usr/src/lib/libc/sparcv9/Makefile.com @@ -1301,7 +1301,7 @@ assym.h := CFLAGS64 += -g GENASSYM_C = $(LIBCDIR)/$(MACH)/genassym.c genassym: $(GENASSYM_C) - $(NATIVECC) -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc \ + $(NATIVECC) $(NATIVE_CFLAGS) -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc \ $(CPPFLAGS.native) -o $@ $(GENASSYM_C) OFFSETS = $(LIBCDIR)/$(MACH)/offsets.in diff --git a/usr/src/lib/libm/Makefile.libm.com b/usr/src/lib/libm/Makefile.libm.com index 0a8904be2b..ffa6c888d4 100644 --- a/usr/src/lib/libm/Makefile.libm.com +++ b/usr/src/lib/libm/Makefile.libm.com @@ -23,13 +23,19 @@ ASSUFFIX_sparc = S ASSUFFIX_i386 = s ASSUFFIX = $(ASSUFFIX_$(MACH)) -# C99MODE of neither enabled nor disabled is "no_lib", whereby we expect -# C99-the-language, but don't modify the behaviour of library routines. This -# is VERY IMPORTANT, as -xc99=%all, for instance, would link us with +# With studio C99MODE of neither enabled nor disabled is "no_lib", whereby we +# expect C99-the-language, but don't modify the behaviour of library routines. +# This is VERY IMPORTANT, as -xc99=%all, for instance, would link us with # values-xpg6, which would introduce an __xpg6 to our object with the C99 # flags set, causing us to default C99 libm behaviour on, breaking # compatibility. +# +# We must then, unfortunately, defeat the GNU compiler _defaulting_ to C99, by +# in that case setting it back to gnu89, which _also_ accepts C99 syntax as +# far as is important. C99MODE = +CFLAGS += -_gcc=-std=gnu89 +CFLAGS64 += -_gcc=-std=gnu89 M4FLAGS = -D__STDC__ -DPIC @@ -49,7 +55,7 @@ CPPFLAGS += -I$(LIBMSRC)/C \ # GCC needs __C99FEATURES__ such that the implementations of isunordered, # isgreaterequal, islessequal, etc, exist. This is basically equivalent to # providing no -xc99 to Studio, in that it gets us the C99 language features, -# but not values-xpg6, the reason for which is outline with C99MODE. +# but not values-xpg6, the reason for which is outlined with C99MODE. CFLAGS += -_gcc=-D__C99FEATURES__ CFLAGS64 += -_gcc=-D__C99FEATURES__ diff --git a/usr/src/lib/libm/amd64/src/libm_inlines.h b/usr/src/lib/libm/amd64/src/libm_inlines.h index d69c79bfcb..b0dee03bdf 100644 --- a/usr/src/lib/libm/amd64/src/libm_inlines.h +++ b/usr/src/lib/libm/amd64/src/libm_inlines.h @@ -45,7 +45,7 @@ extern "C" { #include <sys/types.h> #include <sys/ieeefp.h> -extern __inline__ float +extern __GNU_INLINE float __inline_sqrtf(float a) { float ret; @@ -54,7 +54,7 @@ __inline_sqrtf(float a) return (ret); } -extern __inline__ double +extern __GNU_INLINE double __inline_sqrt(double a) { double ret; @@ -63,7 +63,7 @@ __inline_sqrt(double a) return (ret); } -extern __inline__ double +extern __GNU_INLINE double __ieee754_sqrt(double a) { return (__inline_sqrt(a)); @@ -75,7 +75,7 @@ __ieee754_sqrt(double a) * 10 - 53 bits * 11 - 64 bits */ -extern __inline__ int +extern __GNU_INLINE int __swapRP(int i) { int ret; @@ -97,7 +97,7 @@ __swapRP(int i) * 10 - Round up * 11 - Chop */ -extern __inline__ enum fp_direction_type +extern __GNU_INLINE enum fp_direction_type __swap87RD(enum fp_direction_type i) { int ret; @@ -113,7 +113,7 @@ __swap87RD(enum fp_direction_type i) return (ret); } -extern __inline__ int +extern __GNU_INLINE int abs(int i) { int ret; @@ -127,7 +127,7 @@ abs(int i) return (ret); } -extern __inline__ double +extern __GNU_INLINE double copysign(double d1, double d2) { double tmpd; @@ -143,7 +143,7 @@ copysign(double d1, double d2) return (d1); } -extern __inline__ double +extern __GNU_INLINE double fabs(double d) { double tmp; @@ -157,7 +157,7 @@ fabs(double d) return (d); } -extern __inline__ float +extern __GNU_INLINE float fabsf(float d) { __asm__ __volatile__( @@ -168,7 +168,7 @@ fabsf(float d) return (d); } -extern __inline__ int +extern __GNU_INLINE int finite(double d) { long ret = 0x7fffffffffffffff; @@ -187,7 +187,7 @@ finite(double d) return (ret); } -extern __inline__ int +extern __GNU_INLINE int signbit(double d) { long ret; @@ -200,13 +200,13 @@ signbit(double d) return (ret); } -extern __inline__ double +extern __GNU_INLINE double sqrt(double d) { return (__inline_sqrt(d)); } -extern __inline__ float +extern __GNU_INLINE float sqrtf(float f) { return (__inline_sqrtf(f)); diff --git a/usr/src/lib/libm/common/m9x/fenv_inlines.h b/usr/src/lib/libm/common/m9x/fenv_inlines.h index 945ec424d0..39056f7886 100644 --- a/usr/src/lib/libm/common/m9x/fenv_inlines.h +++ b/usr/src/lib/libm/common/m9x/fenv_inlines.h @@ -39,7 +39,7 @@ union fp_cwsw { } words; }; -extern __inline__ void +extern __GNU_INLINE void __fenv_getcwsw(unsigned int *value) { union fp_cwsw *u = (union fp_cwsw *)value; @@ -50,7 +50,7 @@ __fenv_getcwsw(unsigned int *value) : "=m" (u->words.cw), "=m" (u->words.sw)); } -extern __inline__ void +extern __GNU_INLINE void __fenv_setcwsw(const unsigned int *value) { union fp_cwsw cwsw; @@ -71,19 +71,19 @@ __fenv_setcwsw(const unsigned int *value) "st(6)", "st(7)"); } -extern __inline__ void +extern __GNU_INLINE void __fenv_getmxcsr(unsigned int *value) { __asm__ __volatile__("stmxcsr %0" : "=m" (*value)); } -extern __inline__ void +extern __GNU_INLINE void __fenv_setmxcsr(const unsigned int *value) { __asm__ __volatile__("ldmxcsr %0" : : "m" (*value)); } -extern __inline__ long double +extern __GNU_INLINE long double f2xm1(long double x) { long double ret; @@ -92,7 +92,7 @@ f2xm1(long double x) return (ret); } -extern __inline__ long double +extern __GNU_INLINE long double fyl2x(long double y, long double x) { long double ret; @@ -104,7 +104,7 @@ fyl2x(long double y, long double x) return (ret); } -extern __inline__ long double +extern __GNU_INLINE long double fptan(long double x) { /* @@ -121,7 +121,7 @@ fptan(long double x) return (ret); } -extern __inline__ long double +extern __GNU_INLINE long double fpatan(long double x, long double y) { long double ret; @@ -133,28 +133,28 @@ fpatan(long double x, long double y) return (ret); } -extern __inline__ long double +extern __GNU_INLINE long double fxtract(long double x) { __asm__ __volatile__("fxtract" : "+t" (x) : : "cc"); return (x); } -extern __inline__ long double +extern __GNU_INLINE long double fprem1(long double idend, long double div) { __asm__ __volatile__("fprem1" : "+t" (div) : "u" (idend) : "cc"); return (div); } -extern __inline__ long double +extern __GNU_INLINE long double fprem(long double idend, long double div) { __asm__ __volatile__("fprem" : "+t" (div) : "u" (idend) : "cc"); return (div); } -extern __inline__ long double +extern __GNU_INLINE long double fyl2xp1(long double y, long double x) { long double ret; @@ -166,14 +166,14 @@ fyl2xp1(long double y, long double x) return (ret); } -extern __inline__ long double +extern __GNU_INLINE long double fsqrt(long double x) { __asm__ __volatile__("fsqrt" : "+t" (x) : : "cc"); return (x); } -extern __inline__ long double +extern __GNU_INLINE long double fsincos(long double x) { long double dummy; @@ -182,14 +182,14 @@ fsincos(long double x) return (x); } -extern __inline__ long double +extern __GNU_INLINE long double frndint(long double x) { __asm__ __volatile__("frndint" : "+t" (x) : : "cc"); return (x); } -extern __inline__ long double +extern __GNU_INLINE long double fscale(long double x, long double y) { long double ret; @@ -198,21 +198,21 @@ fscale(long double x, long double y) return (ret); } -extern __inline__ long double +extern __GNU_INLINE long double fsin(long double x) { __asm__ __volatile__("fsin" : "+t" (x) : : "cc"); return (x); } -extern __inline__ long double +extern __GNU_INLINE long double fcos(long double x) { __asm__ __volatile__("fcos" : "+t" (x) : : "cc"); return (x); } -extern __inline__ void +extern __GNU_INLINE void sse_cmpeqss(float *f1, float *f2, int *i1) { __asm__ __volatile__( @@ -223,7 +223,7 @@ sse_cmpeqss(float *f1, float *f2, int *i1) : "cc"); } -extern __inline__ void +extern __GNU_INLINE void sse_cmpltss(float *f1, float *f2, int *i1) { __asm__ __volatile__( @@ -234,7 +234,7 @@ sse_cmpltss(float *f1, float *f2, int *i1) : "cc"); } -extern __inline__ void +extern __GNU_INLINE void sse_cmpless(float *f1, float *f2, int *i1) { __asm__ __volatile__( @@ -245,7 +245,7 @@ sse_cmpless(float *f1, float *f2, int *i1) : "cc"); } -extern __inline__ void +extern __GNU_INLINE void sse_cmpunordss(float *f1, float *f2, int *i1) { __asm__ __volatile__( @@ -256,7 +256,7 @@ sse_cmpunordss(float *f1, float *f2, int *i1) : "cc"); } -extern __inline__ void +extern __GNU_INLINE void sse_minss(float *f1, float *f2, float *f3) { __asm__ __volatile__( @@ -266,7 +266,7 @@ sse_minss(float *f1, float *f2, float *f3) : "x" (*f2)); } -extern __inline__ void +extern __GNU_INLINE void sse_maxss(float *f1, float *f2, float *f3) { __asm__ __volatile__( @@ -276,7 +276,7 @@ sse_maxss(float *f1, float *f2, float *f3) : "x" (*f2)); } -extern __inline__ void +extern __GNU_INLINE void sse_addss(float *f1, float *f2, float *f3) { __asm__ __volatile__( @@ -286,7 +286,7 @@ sse_addss(float *f1, float *f2, float *f3) : "x" (*f2)); } -extern __inline__ void +extern __GNU_INLINE void sse_subss(float *f1, float *f2, float *f3) { __asm__ __volatile__( @@ -296,7 +296,7 @@ sse_subss(float *f1, float *f2, float *f3) : "x" (*f2)); } -extern __inline__ void +extern __GNU_INLINE void sse_mulss(float *f1, float *f2, float *f3) { __asm__ __volatile__( @@ -306,7 +306,7 @@ sse_mulss(float *f1, float *f2, float *f3) : "x" (*f2)); } -extern __inline__ void +extern __GNU_INLINE void sse_divss(float *f1, float *f2, float *f3) { __asm__ __volatile__( @@ -316,7 +316,7 @@ sse_divss(float *f1, float *f2, float *f3) : "x" (*f2)); } -extern __inline__ void +extern __GNU_INLINE void sse_sqrtss(float *f1, float *f2) { double tmp; @@ -328,20 +328,20 @@ sse_sqrtss(float *f1, float *f2) : "m" (*f1)); } -extern __inline__ void +extern __GNU_INLINE void sse_ucomiss(float *f1, float *f2) { __asm__ __volatile__("ucomiss %1, %0" : : "x" (*f1), "x" (*f2)); } -extern __inline__ void +extern __GNU_INLINE void sse_comiss(float *f1, float *f2) { __asm__ __volatile__("comiss %1, %0" : : "x" (*f1), "x" (*f2)); } -extern __inline__ void +extern __GNU_INLINE void sse_cvtss2sd(float *f1, double *d1) { double tmp; @@ -353,7 +353,7 @@ sse_cvtss2sd(float *f1, double *d1) : "m" (*f1)); } -extern __inline__ void +extern __GNU_INLINE void sse_cvtsi2ss(int *i1, float *f1) { double tmp; @@ -365,7 +365,7 @@ sse_cvtsi2ss(int *i1, float *f1) : "m" (*i1)); } -extern __inline__ void +extern __GNU_INLINE void sse_cvttss2si(float *f1, int *i1) { int tmp; @@ -377,7 +377,7 @@ sse_cvttss2si(float *f1, int *i1) : "m" (*f1)); } -extern __inline__ void +extern __GNU_INLINE void sse_cvtss2si(float *f1, int *i1) { int tmp; @@ -390,7 +390,7 @@ sse_cvtss2si(float *f1, int *i1) } #if defined(__amd64) -extern __inline__ void +extern __GNU_INLINE void sse_cvtsi2ssq(long long *ll1, float *f1) { double tmp; @@ -402,7 +402,7 @@ sse_cvtsi2ssq(long long *ll1, float *f1) : "m" (*ll1)); } -extern __inline__ void +extern __GNU_INLINE void sse_cvttss2siq(float *f1, long long *ll1) { uint64_t tmp; @@ -414,7 +414,7 @@ sse_cvttss2siq(float *f1, long long *ll1) : "m" (*f1)); } -extern __inline__ void +extern __GNU_INLINE void sse_cvtss2siq(float *f1, long long *ll1) { uint64_t tmp; @@ -428,7 +428,7 @@ sse_cvtss2siq(float *f1, long long *ll1) #endif -extern __inline__ void +extern __GNU_INLINE void sse_cmpeqsd(double *d1, double *d2, long long *ll1) { __asm__ __volatile__( @@ -438,7 +438,7 @@ sse_cmpeqsd(double *d1, double *d2, long long *ll1) : "x" (*d2)); } -extern __inline__ void +extern __GNU_INLINE void sse_cmpltsd(double *d1, double *d2, long long *ll1) { __asm__ __volatile__( @@ -448,7 +448,7 @@ sse_cmpltsd(double *d1, double *d2, long long *ll1) : "x" (*d2)); } -extern __inline__ void +extern __GNU_INLINE void sse_cmplesd(double *d1, double *d2, long long *ll1) { __asm__ __volatile__( @@ -458,7 +458,7 @@ sse_cmplesd(double *d1, double *d2, long long *ll1) : "x" (*d2)); } -extern __inline__ void +extern __GNU_INLINE void sse_cmpunordsd(double *d1, double *d2, long long *ll1) { __asm__ __volatile__( @@ -469,7 +469,7 @@ sse_cmpunordsd(double *d1, double *d2, long long *ll1) } -extern __inline__ void +extern __GNU_INLINE void sse_minsd(double *d1, double *d2, double *d3) { __asm__ __volatile__( @@ -479,7 +479,7 @@ sse_minsd(double *d1, double *d2, double *d3) : "x" (*d2)); } -extern __inline__ void +extern __GNU_INLINE void sse_maxsd(double *d1, double *d2, double *d3) { __asm__ __volatile__( @@ -489,7 +489,7 @@ sse_maxsd(double *d1, double *d2, double *d3) : "x" (*d2)); } -extern __inline__ void +extern __GNU_INLINE void sse_addsd(double *d1, double *d2, double *d3) { __asm__ __volatile__( @@ -499,7 +499,7 @@ sse_addsd(double *d1, double *d2, double *d3) : "x" (*d2)); } -extern __inline__ void +extern __GNU_INLINE void sse_subsd(double *d1, double *d2, double *d3) { __asm__ __volatile__( @@ -509,7 +509,7 @@ sse_subsd(double *d1, double *d2, double *d3) : "x" (*d2)); } -extern __inline__ void +extern __GNU_INLINE void sse_mulsd(double *d1, double *d2, double *d3) { __asm__ __volatile__( @@ -519,7 +519,7 @@ sse_mulsd(double *d1, double *d2, double *d3) : "x" (*d2)); } -extern __inline__ void +extern __GNU_INLINE void sse_divsd(double *d1, double *d2, double *d3) { __asm__ __volatile__( @@ -529,7 +529,7 @@ sse_divsd(double *d1, double *d2, double *d3) : "x" (*d2)); } -extern __inline__ void +extern __GNU_INLINE void sse_sqrtsd(double *d1, double *d2) { double tmp; @@ -541,19 +541,19 @@ sse_sqrtsd(double *d1, double *d2) : "m" (*d1)); } -extern __inline__ void +extern __GNU_INLINE void sse_ucomisd(double *d1, double *d2) { __asm__ __volatile__("ucomisd %1, %0" : : "x" (*d1), "x" (*d2)); } -extern __inline__ void +extern __GNU_INLINE void sse_comisd(double *d1, double *d2) { __asm__ __volatile__("comisd %1, %0" : : "x" (*d1), "x" (*d2)); } -extern __inline__ void +extern __GNU_INLINE void sse_cvtsd2ss(double *d1, float *f1) { double tmp; @@ -565,7 +565,7 @@ sse_cvtsd2ss(double *d1, float *f1) : "m" (*d1)); } -extern __inline__ void +extern __GNU_INLINE void sse_cvtsi2sd(int *i1, double *d1) { double tmp; @@ -576,7 +576,7 @@ sse_cvtsi2sd(int *i1, double *d1) : "m" (*i1)); } -extern __inline__ void +extern __GNU_INLINE void sse_cvttsd2si(double *d1, int *i1) { int tmp; @@ -588,7 +588,7 @@ sse_cvttsd2si(double *d1, int *i1) : "m" (*d1)); } -extern __inline__ void +extern __GNU_INLINE void sse_cvtsd2si(double *d1, int *i1) { int tmp; @@ -601,7 +601,7 @@ sse_cvtsd2si(double *d1, int *i1) } #if defined(__amd64) -extern __inline__ void +extern __GNU_INLINE void sse_cvtsi2sdq(long long *ll1, double *d1) { double tmp; @@ -613,7 +613,7 @@ sse_cvtsi2sdq(long long *ll1, double *d1) : "m" (*ll1)); } -extern __inline__ void +extern __GNU_INLINE void sse_cvttsd2siq(double *d1, long long *ll1) { uint64_t tmp; @@ -625,7 +625,7 @@ sse_cvttsd2siq(double *d1, long long *ll1) : "m" (*d1)); } -extern __inline__ void +extern __GNU_INLINE void sse_cvtsd2siq(double *d1, long long *ll1) { uint64_t tmp; @@ -639,37 +639,37 @@ sse_cvtsd2siq(double *d1, long long *ll1) #endif #elif defined(__sparc) -extern __inline__ void +extern __GNU_INLINE void __fenv_getfsr(unsigned long *l) { __asm__ __volatile__( #if defined(__sparcv9) - "stx %%fsr,%0\n\t" + "stx %%fsr,%0\n\t" #else - "st %%fsr,%0\n\t" + "st %%fsr,%0\n\t" #endif - : "=m" (*l)); + : "=m" (*l)); } -extern __inline__ void +extern __GNU_INLINE void __fenv_setfsr(const unsigned long *l) { __asm__ __volatile__( #if defined(__sparcv9) - "ldx %0,%%fsr\n\t" + "ldx %0,%%fsr\n\t" #else - "ld %0,%%fsr\n\t" + "ld %0,%%fsr\n\t" #endif - : : "m" (*l) : "cc"); + : : "m" (*l) : "cc"); } -extern __inline__ void +extern __GNU_INLINE void __fenv_getfsr32(unsigned int *l) { __asm__ __volatile__("st %%fsr,%0\n\t" : "=m" (*l)); } -extern __inline__ void +extern __GNU_INLINE void __fenv_setfsr32(const unsigned int *l) { __asm__ __volatile__("ld %0,%%fsr\n\t" : : "m" (*l)); diff --git a/usr/src/lib/libm/i386/src/libm_inlines.h b/usr/src/lib/libm/i386/src/libm_inlines.h index e57ecbaded..309d40460e 100644 --- a/usr/src/lib/libm/i386/src/libm_inlines.h +++ b/usr/src/lib/libm/i386/src/libm_inlines.h @@ -46,7 +46,7 @@ extern "C" { #define _HI_WORD(x) ((uint32_t *)&x)[1] #define _HIER_WORD(x) ((uint32_t *)&x)[2] -extern __inline__ double +extern __GNU_INLINE double __inline_sqrt(double a) { double ret; @@ -55,13 +55,13 @@ __inline_sqrt(double a) return (ret); } -extern __inline__ double +extern __GNU_INLINE double __ieee754_sqrt(double a) { return (__inline_sqrt(a)); } -extern __inline__ float +extern __GNU_INLINE float __inline_sqrtf(float a) { float ret; @@ -70,7 +70,7 @@ __inline_sqrtf(float a) return (ret); } -extern __inline__ double +extern __GNU_INLINE double __inline_rint(double a) { __asm__ __volatile__( @@ -92,7 +92,7 @@ __inline_rint(double a) * 10 - 53 bits * 11 - 64 bits */ -extern __inline__ int +extern __GNU_INLINE int __swapRP(int i) { int ret; @@ -114,7 +114,7 @@ __swapRP(int i) * 10 - Round up * 11 - Chop */ -extern __inline__ enum fp_direction_type +extern __GNU_INLINE enum fp_direction_type __swap87RD(enum fp_direction_type i) { int ret; @@ -130,7 +130,7 @@ __swap87RD(enum fp_direction_type i) return (ret); } -extern __inline__ double +extern __GNU_INLINE double ceil(double d) { /* @@ -157,7 +157,7 @@ ceil(double d) return (d); } -extern __inline__ double +extern __GNU_INLINE double copysign(double d1, double d2) { __asm__ __volatile__( @@ -171,28 +171,28 @@ copysign(double d1, double d2) return (d1); } -extern __inline__ double +extern __GNU_INLINE double fabs(double d) { __asm__ __volatile__("fabs\n\t" : "+t" (d) : : "cc"); return (d); } -extern __inline__ float +extern __GNU_INLINE float fabsf(float d) { __asm__ __volatile__("fabs\n\t" : "+t" (d) : : "cc"); return (d); } -extern __inline__ long double +extern __GNU_INLINE long double fabsl(long double d) { __asm__ __volatile__("fabs\n\t" : "+t" (d) : : "cc"); return (d); } -extern __inline__ int +extern __GNU_INLINE int finite(double d) { int ret = _HI_WORD(d); @@ -208,7 +208,7 @@ finite(double d) return (ret); } -extern __inline__ double +extern __GNU_INLINE double floor(double d) { short rd = __swap87RD(fp_negative); @@ -223,29 +223,29 @@ floor(double d) * branchless __isnan * ((0x7ff00000-[((lx|-lx)>>31)&1]|ahx)>>31)&1 = 1 iff x is NaN */ -extern __inline__ int +extern __GNU_INLINE int isnan(double d) { int ret; __asm__ __volatile__( - "movl %1,%%ecx\n\t" - "negl %%ecx\n\t" /* ecx <-- -lo_32(x) */ - "orl %%ecx,%1\n\t" - "shrl $31,%1\n\t" /* 1 iff lx != 0 */ - "andl $0x7fffffff,%2\n\t" /* ecx <-- hi_32(abs(x)) */ - "orl %2,%1\n\t" - "subl $0x7ff00000,%1\n\t" - "negl %1\n\t" - "shrl $31,%1\n\t" - : "=r" (ret) - : "0" (_HI_WORD(d)), "r" (_LO_WORD(d)) - : "ecx"); + "movl %1,%%ecx\n\t" + "negl %%ecx\n\t" /* ecx <-- -lo_32(x) */ + "orl %%ecx,%1\n\t" + "shrl $31,%1\n\t" /* 1 iff lx != 0 */ + "andl $0x7fffffff,%2\n\t" /* ecx <-- hi_32(abs(x)) */ + "orl %2,%1\n\t" + "subl $0x7ff00000,%1\n\t" + "negl %1\n\t" + "shrl $31,%1\n\t" + : "=r" (ret) + : "0" (_HI_WORD(d)), "r" (_LO_WORD(d)) + : "ecx"); return (ret); } -extern __inline__ int +extern __GNU_INLINE int isnanf(float f) { __asm__ __volatile__( @@ -260,12 +260,12 @@ isnanf(float f) return (f); } -extern __inline__ double +extern __GNU_INLINE double rint(double a) { return (__inline_rint(a)); } -extern __inline__ double +extern __GNU_INLINE double scalbn(double d, int n) { double dummy; @@ -281,38 +281,38 @@ scalbn(double d, int n) return (d); } -extern __inline__ int +extern __GNU_INLINE int signbit(double d) { return (_HI_WORD(d) >> 31); } -extern __inline__ int +extern __GNU_INLINE int signbitf(float f) { return ((*(uint32_t *)&f) >> 31); } -extern __inline__ double +extern __GNU_INLINE double sqrt(double d) { return (__inline_sqrt(d)); } -extern __inline__ float +extern __GNU_INLINE float sqrtf(float f) { return (__inline_sqrtf(f)); } -extern __inline__ long double +extern __GNU_INLINE long double sqrtl(long double ld) { __asm__ __volatile__("fsqrt" : "+t" (ld) : : "cc"); return (ld); } -extern __inline__ int +extern __GNU_INLINE int isnanl(long double ld) { int ret = _HIER_WORD(ld); diff --git a/usr/src/lib/libm/sparc/src/libm_inlines.h b/usr/src/lib/libm/sparc/src/libm_inlines.h index 93c9aa2302..964bf3d88a 100644 --- a/usr/src/lib/libm/sparc/src/libm_inlines.h +++ b/usr/src/lib/libm/sparc/src/libm_inlines.h @@ -42,7 +42,7 @@ extern "C" { #endif -extern __inline__ double +extern __GNU_INLINE double __inline_sqrt(double d) { double ret; @@ -51,7 +51,7 @@ __inline_sqrt(double d) return (ret); } -extern __inline__ float +extern __GNU_INLINE float __inline_sqrtf(float f) { float ret; @@ -60,7 +60,7 @@ __inline_sqrtf(float f) return (ret); } -extern __inline__ enum fp_class_type +extern __GNU_INLINE enum fp_class_type fp_classf(float f) { enum fp_class_type ret; @@ -113,7 +113,7 @@ fp_classf(float f) #define _HI_WORD(x) ((uint32_t *)&x)[0] #define _LO_WORD(x) ((uint32_t *)&x)[1] -extern __inline__ enum fp_class_type +extern __GNU_INLINE enum fp_class_type fp_class(double d) { enum fp_class_type ret; @@ -169,7 +169,7 @@ fp_class(double d) return (ret); } -extern __inline__ int +extern __GNU_INLINE int __swapEX(int i) { int ret; @@ -201,13 +201,13 @@ __swapEX(int i) * compatibility */ /* ARGSUSED */ -extern __inline__ enum fp_precision_type +extern __GNU_INLINE enum fp_precision_type __swapRP(enum fp_precision_type i) { return (0); } -extern __inline__ enum fp_direction_type +extern __GNU_INLINE enum fp_direction_type __swapRD(enum fp_direction_type d) { enum fp_direction_type ret; @@ -235,7 +235,7 @@ __swapRD(enum fp_direction_type d) return (ret); } -extern __inline__ int +extern __GNU_INLINE int __swapTE(int i) { int ret; @@ -262,19 +262,19 @@ __swapTE(int i) return (ret); } -extern __inline__ double +extern __GNU_INLINE double sqrt(double d) { return (__inline_sqrt(d)); } -extern __inline__ float +extern __GNU_INLINE float sqrtf(float f) { return (__inline_sqrtf(f)); } -extern __inline__ double +extern __GNU_INLINE double fabs(double d) { double ret; @@ -283,7 +283,7 @@ fabs(double d) return (ret); } -extern __inline__ float +extern __GNU_INLINE float fabsf(float f) { float ret; diff --git a/usr/src/lib/libm/sparcv9/src/libm_inlines.h b/usr/src/lib/libm/sparcv9/src/libm_inlines.h index 916cc6ba87..74dba0b301 100644 --- a/usr/src/lib/libm/sparcv9/src/libm_inlines.h +++ b/usr/src/lib/libm/sparcv9/src/libm_inlines.h @@ -42,7 +42,7 @@ extern "C" { #endif -extern __inline__ enum fp_class_type +extern __GNU_INLINE enum fp_class_type fp_classf(float f) { enum fp_class_type ret; @@ -92,7 +92,7 @@ fp_classf(float f) return (ret); } -extern __inline__ enum fp_class_type +extern __GNU_INLINE enum fp_class_type fp_class(double d) { enum fp_class_type ret; @@ -144,7 +144,7 @@ fp_class(double d) return (ret); } -extern __inline__ float +extern __GNU_INLINE float __inline_sqrtf(float f) { float ret; @@ -153,7 +153,7 @@ __inline_sqrtf(float f) return (ret); } -extern __inline__ double +extern __GNU_INLINE double __inline_sqrt(double d) { double ret; @@ -162,7 +162,7 @@ __inline_sqrt(double d) return (ret); } -extern __inline__ int +extern __GNU_INLINE int __swapEX(int i) { int ret; @@ -194,13 +194,13 @@ __swapEX(int i) * compatibility */ /* ARGSUSED */ -extern __inline__ enum fp_precision_type +extern __GNU_INLINE enum fp_precision_type __swapRP(enum fp_precision_type i) { return (0); } -extern __inline__ enum fp_direction_type +extern __GNU_INLINE enum fp_direction_type __swapRD(enum fp_direction_type d) { enum fp_direction_type ret; @@ -229,7 +229,7 @@ __swapRD(enum fp_direction_type d) return (ret); } -extern __inline__ int +extern __GNU_INLINE int __swapTE(int i) { int ret; @@ -259,19 +259,19 @@ __swapTE(int i) } -extern __inline__ double +extern __GNU_INLINE double sqrt(double d) { return (__inline_sqrt(d)); } -extern __inline__ float +extern __GNU_INLINE float sqrtf(float f) { return (__inline_sqrtf(f)); } -extern __inline__ double +extern __GNU_INLINE double fabs(double d) { double ret; @@ -280,7 +280,7 @@ fabs(double d) return (ret); } -extern __inline__ float +extern __GNU_INLINE float fabsf(float f) { float ret; diff --git a/usr/src/lib/libsqlite/Makefile.com b/usr/src/lib/libsqlite/Makefile.com index b2712a24d6..5b6dcc424e 100644 --- a/usr/src/lib/libsqlite/Makefile.com +++ b/usr/src/lib/libsqlite/Makefile.com @@ -245,7 +245,7 @@ parse.h parse.c : $(SRCDIR)/parse.y $(TOOLDIR)/lemon.c $(TOOLDIR)/lempar.c -$(RM) parse_tmp.y lempar.c $(CP) $(SRCDIR)/parse.y parse_tmp.y $(CP) $(TOOLDIR)/lempar.c lempar.c - $(NATIVECC) -o lemon $(TOOLDIR)/lemon.c + $(NATIVECC) $(NATIVE_CFLAGS) -o lemon $(TOOLDIR)/lemon.c ./lemon parse_tmp.y -$(RM) parse.c parse.h $(CP) parse_tmp.h parse.h diff --git a/usr/src/man/man1/man.1 b/usr/src/man/man1/man.1 index b21c113452..c49448b89f 100644 --- a/usr/src/man/man1/man.1 +++ b/usr/src/man/man1/man.1 @@ -1,9 +1,14 @@ -.\" Copyright 2014 Garrett D'Amore <garrett@damore.org> -.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved. -.\" Copyright (c) 1980 Regents of the University of California. +.\" .\" The Berkeley software License Agreement specifies the terms and conditions .\" for redistribution. -.Dd Jul 18, 2014 +.\" +.\" +.\" Copyright (c) 1980 Regents of the University of California. +.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved. +.\" Copyright 2014 Garrett D'Amore <garrett@damore.org> +.\" Copyright 2016 Nexenta Systems, Inc. +.\" +.Dd February 12, 2016 .Dt MAN 1 .Os .Sh NAME @@ -289,7 +294,7 @@ The .Pa man.cf file has the following format: .Lp -.Dl Pf MANSECTS= Ar section , Ns Op Ar section... +.Dl Pf MANSECTS= Ar section Ns Oo , Ns Ar section Oc Ns ... .Lp Lines beginning with .Sq Li # diff --git a/usr/src/man/man5/zpool-features.5 b/usr/src/man/man5/zpool-features.5 index cc94fa1014..c2196ecc4e 100644 --- a/usr/src/man/man5/zpool-features.5 +++ b/usr/src/man/man5/zpool-features.5 @@ -455,7 +455,7 @@ filesystems that have ever had their recordsize larger than 128KB are destroyed. l l . GUID org.illumos:sha512 READ\-ONLY COMPATIBLE no -DEPENDENCIES none +DEPENDENCIES extensible_dataset .TE This feature enables the use of the SHA-512/256 truncated hash algorithm @@ -488,7 +488,7 @@ the updated GRUB stage2 module is installed). l l . GUID org.illumos:skein READ\-ONLY COMPATIBLE no -DEPENDENCIES none +DEPENDENCIES extensible_dataset .TE This feature enables the use of the Skein hash algorithm for checksum @@ -524,7 +524,7 @@ error. l l . GUID org.illumos:edonr READ\-ONLY COMPATIBLE no -DEPENDENCIES none +DEPENDENCIES extensible_dataset .TE This feature enables the use of the Edon-R hash algorithm for checksum, diff --git a/usr/src/test/zfs-tests/tests/functional/checksum/Makefile.subdirs b/usr/src/test/zfs-tests/tests/functional/checksum/Makefile.subdirs index 9064aabbdb..b8dacd5b54 100644 --- a/usr/src/test/zfs-tests/tests/functional/checksum/Makefile.subdirs +++ b/usr/src/test/zfs-tests/tests/functional/checksum/Makefile.subdirs @@ -26,8 +26,8 @@ CMD64 = $(PROG:%=$(TESTDIR)/%.$(MACH64)) CMDS = $(CMD32) $(CMD64) $(CMDS) := FILEMODE = 0555 -C99MODE = -xc99=%all -CFLAGS = -I $(SRC)/uts/common -D_KERNEL +C99MODE = $(C99_ENABLE) +CFLAGS += -I $(SRC)/uts/common -D_KERNEL LDLIBS += -lmd LINTFLAGS += -u LINTFLAGS64 += -u diff --git a/usr/src/uts/common/fs/zfs/zfs_ioctl.c b/usr/src/uts/common/fs/zfs/zfs_ioctl.c index 8644957f98..8e5c697b56 100644 --- a/usr/src/uts/common/fs/zfs/zfs_ioctl.c +++ b/usr/src/uts/common/fs/zfs/zfs_ioctl.c @@ -3924,7 +3924,7 @@ zfs_check_settable(const char *dsname, nvpair_t *pair, cred_t *cr) return (SET_ERROR(EINVAL)); /* check prop value is enabled in features */ - feature = zio_checksum_to_feature(intval); + feature = zio_checksum_to_feature(intval & ZIO_CHECKSUM_MASK); if (feature == SPA_FEATURE_NONE) break; diff --git a/usr/src/uts/common/fs/zfs/zio_checksum.c b/usr/src/uts/common/fs/zfs/zio_checksum.c index 4bef6a3e11..8bd7e02bef 100644 --- a/usr/src/uts/common/fs/zfs/zio_checksum.c +++ b/usr/src/uts/common/fs/zfs/zio_checksum.c @@ -136,9 +136,15 @@ zio_checksum_info_t zio_checksum_table[ZIO_CHECKSUM_FUNCTIONS] = { ZCHECKSUM_FLAG_NOPWRITE, "edonr"}, }; +/* + * The flag corresponding to the "verify" in dedup=[checksum,]verify + * must be cleared first, so callers should use ZIO_CHECKSUM_MASK. + */ spa_feature_t zio_checksum_to_feature(enum zio_checksum cksum) { + VERIFY((cksum & ~ZIO_CHECKSUM_MASK) == 0); + switch (cksum) { case ZIO_CHECKSUM_SHA512: return (SPA_FEATURE_SHA512); diff --git a/usr/src/uts/common/io/audio/drv/audioemu10k/dsp/asm10k.c b/usr/src/uts/common/io/audio/drv/audioemu10k/dsp/asm10k.c index af0e0b1cf3..d2f078be83 100644 --- a/usr/src/uts/common/io/audio/drv/audioemu10k/dsp/asm10k.c +++ b/usr/src/uts/common/io/audio/drv/audioemu10k/dsp/asm10k.c @@ -437,7 +437,6 @@ compile_mono(char **tokens, int cnt) { char *parm, *def; int n, num; - char tmp[128]; CHECK_COUNT(tokens, cnt, 3, 3); @@ -605,7 +604,6 @@ compile_directive(char **tokens, int cnt) static void compile_asm(char **tokens, int cnt) { - char *parms[4]; sym_t *symbols[4]; #define EMIT(o, r, a, x, y) \ fle.code[pc*2] = ((x) << 10) | (y); \ @@ -614,7 +612,7 @@ compile_asm(char **tokens, int cnt) fle.code[pc*2] = ((x) << 12) | (y); \ fle.code[pc*2+1] = ((o) << 24) | ((r) << 12) | a; pc++ - int i, n = 0, nerr = 0; + int i, nerr = 0; int ninputs = 0; CHECK_COUNT(tokens, cnt, 5, 5); @@ -813,7 +811,6 @@ init_compiler(void) static void produce_map(char *name) { - char fname[1024]; int i; FILE *f; @@ -957,8 +954,7 @@ done: int main(int argc, char *argv[]) { - char line[4096], *p, *s, *outfile; - char *iline; + char *outfile; int i; FILE *input; char *tokens[10]; diff --git a/usr/src/uts/i86pc/Makefile.rules b/usr/src/uts/i86pc/Makefile.rules index cc30fd647a..5d8c84a25e 100644 --- a/usr/src/uts/i86pc/Makefile.rules +++ b/usr/src/uts/i86pc/Makefile.rules @@ -219,7 +219,7 @@ DBOOT_MACH_32 = -D_BOOT_TARGET_i386 DBOOT_MACH_64 = -D_BOOT_TARGET_amd64 DBOOT_DEFS = -D_BOOT $(DBOOT_MACH_$(CLASS)) DBOOT_DEFS += -D_MACHDEP -D_KMEMUSER -U_KERNEL -D_I32LPx -DBOOT_FLAGS = $(CCVERBOSE) $(CERRWARN) $(CCNOAUTOINLINE) +DBOOT_FLAGS = $(CCVERBOSE) $(C99MODE) $(CERRWARN) $(CCNOAUTOINLINE) DBOOT_CC_INCL = -I$(SRC)/common -I$(SRC)/common/util $(INCLUDE_PATH) DBOOT_AS_INCL = $(AS_INC_PATH) @@ -244,7 +244,7 @@ $(DBOOT_OBJS_DIR)/%.o: $(UTSBASE)/intel/ia32/%.s $(DBOOT_AS) -P -D_ASM $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $< $(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/crypto/sha1/%.c - $(i386_CC) $(CERRWARN) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< + $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< $(DBOOT_OBJS_DIR)/%.o: $(COMMONBASE)/util/%.c $(i386_CC) $(DBOOT_FLAGS) -O $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $< diff --git a/usr/src/uts/i86pc/genassym/Makefile b/usr/src/uts/i86pc/genassym/Makefile index dc11bddde7..0f2ab219ef 100644 --- a/usr/src/uts/i86pc/genassym/Makefile +++ b/usr/src/uts/i86pc/genassym/Makefile @@ -83,8 +83,8 @@ CPPFLAGS += -I../../i86pc/io/ppm # Create assym.h # $(GENASSYM): $(GENASSYM_SRC) - $(NATIVECC) $(ALWAYS_DEFS) $(GENASSYM_DEFS) $(NATIVE_INC_PATH) \ - -o $@ $(GENASSYM_SRC) + $(NATIVECC) $(NATIVE_CFLAGS) $(ALWAYS_DEFS) $(GENASSYM_DEFS) \ + $(NATIVE_INC_PATH) -o $@ $(GENASSYM_SRC) $(ASSYM_H): $(OFFSETS_SRC) $(PLATFORM_OFFSETS_SRC) $(GENASSYM) $(OFFSETS_CREATE) <$(OFFSETS_SRC) >$@ diff --git a/usr/src/uts/i86pc/ml/genassym.c b/usr/src/uts/i86pc/ml/genassym.c index a34ca50669..168a55cc84 100644 --- a/usr/src/uts/i86pc/ml/genassym.c +++ b/usr/src/uts/i86pc/ml/genassym.c @@ -81,7 +81,7 @@ main(int argc, char *argv[]) printf("#define\tPIC_NSEOI 0x%x\n", PIC_NSEOI); printf("#define\tPIC_SEOI_LVL7 0x%x\n", PIC_SEOI_LVL7); - printf("#define\tNANOSEC 0x%x\n", NANOSEC); + printf("#define\tNANOSEC 0x%llx\n", NANOSEC); printf("#define\tADJ_SHIFT 0x%x\n", ADJ_SHIFT); printf("#define\tSSLEEP 0x%x\n", SSLEEP); @@ -150,9 +150,9 @@ main(int argc, char *argv[]) printf("#define\tMAXSYSARGS 0x%x\n", MAXSYSARGS); /* Hack value just to allow clock to be kicked */ - printf("#define\tNSEC_PER_CLOCK_TICK 0x%x\n", NANOSEC / 100); + printf("#define\tNSEC_PER_CLOCK_TICK 0x%llx\n", NANOSEC / 100); - printf("#define\tNSEC_PER_COUNTER_TICK 0x%x\n", NANOSEC / PIT_HZ); + printf("#define\tNSEC_PER_COUNTER_TICK 0x%llx\n", NANOSEC / PIT_HZ); printf("#define\tPITCTR0_PORT 0x%x\n", PITCTR0_PORT); printf("#define\tPITCTL_PORT 0x%x\n", PITCTL_PORT); diff --git a/usr/src/uts/i86xpv/Makefile.rules b/usr/src/uts/i86xpv/Makefile.rules index 90a4323620..0dcc4d72d0 100644 --- a/usr/src/uts/i86xpv/Makefile.rules +++ b/usr/src/uts/i86xpv/Makefile.rules @@ -184,7 +184,8 @@ DBOOT_OBJS_DIR= dboot/$(OBJS_DIR) DBOOT_XARCH_32 = $(i386_XARCH) DBOOT_XARCH_64 = $(amd64_XARCH) -DBOOT_CFLAGS = $(DBOOT_XARCH_$(CLASS)) $(CERRWARN) $(CCNOAUTOINLINE) -O +DBOOT_CFLAGS = $(DBOOT_XARCH_$(CLASS)) $(C99MODE) $(CERRWARN) \ + $(CCNOAUTOINLINE) -O DBOOT_AS_XARCH_32 = $(i386_AS_XARCH) DBOOT_AS_XARCH_64 = $(amd64_AS_XARCH) diff --git a/usr/src/uts/i86xpv/genassym/Makefile b/usr/src/uts/i86xpv/genassym/Makefile index 1da1f72164..a5b77cd9cf 100644 --- a/usr/src/uts/i86xpv/genassym/Makefile +++ b/usr/src/uts/i86xpv/genassym/Makefile @@ -23,7 +23,6 @@ # Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# ident "%Z%%M% %I% %E% SMI" # # This makefile drives the production of assym.h through # compile time intialized data. @@ -83,8 +82,8 @@ install: def # Create assym.h # $(GENASSYM): $(GENASSYM_SRC) - $(NATIVECC) $(ALWAYS_DEFS) $(GENASSYM_DEFS) $(NATIVE_INC_PATH) \ - -o $@ $(GENASSYM_SRC) + $(NATIVECC) $(NATIVE_CFLAGS) $(ALWAYS_DEFS) $(GENASSYM_DEFS) \ + $(NATIVE_INC_PATH) -o $@ $(GENASSYM_SRC) $(ASSYM_H): $(OFFSETS_SRC) $(PLATFORM_OFFSETS_SRC) $(GENASSYM) $(OFFSETS_CREATE) <$(OFFSETS_SRC) >$@ diff --git a/usr/src/uts/intel/audioemu10k/Makefile b/usr/src/uts/intel/audioemu10k/Makefile index e1d1e2e832..d0155c40fe 100644 --- a/usr/src/uts/intel/audioemu10k/Makefile +++ b/usr/src/uts/intel/audioemu10k/Makefile @@ -94,7 +94,7 @@ install: $(INSTALL_DEPS) $(BINARY): $(OBJS_DIR)/asm10k $(DSP_HDRS) $(ASM10K): $(DSP_SRCDIR)/asm10k.c - $(CC) -o $@ $(DSP_SRCDIR)/asm10k.c + $(NATIVECC) $(NATIVE_CFLAGS) -o $@ $(DSP_SRCDIR)/asm10k.c $(DSP_HDRS): $(ASM10K) $(DSP_SRCS) $(CPP) -D$(MODEL10K) -I$(DSP_SRCDIR) $(DSP_SRCDIR)/emu10k.dsp | \ |