summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Levon <john.levon@joyent.com>2018-09-11 17:36:32 +0000
committerJohn Levon <john.levon@joyent.com>2018-09-11 19:34:43 +0000
commit534f7f0ad8a97acf51ecbf6429db65d3c4ca6e62 (patch)
tree2847dd68675e05e542bd057adc8956a006526455
parent6816448c8b777064c5a9cf6729bcfa0efeb29e4f (diff)
downloadillumos-joyent-534f7f0ad8a97acf51ecbf6429db65d3c4ca6e62.tar.gz
OS-7240 libc's genassym should use proto area headers
-rw-r--r--usr/src/Makefile4
-rw-r--r--usr/src/lib/libc/Makefile.targ21
-rw-r--r--usr/src/lib/libc/amd64/Makefile16
-rw-r--r--usr/src/lib/libc/i386/Makefile.com16
-rw-r--r--usr/src/lib/libc/sparc/Makefile.com14
-rw-r--r--usr/src/lib/libc/sparcv9/Makefile.com14
6 files changed, 26 insertions, 59 deletions
diff --git a/usr/src/Makefile b/usr/src/Makefile
index ce8962609a..ef6381a828 100644
--- a/usr/src/Makefile
+++ b/usr/src/Makefile
@@ -60,7 +60,7 @@ CHKHDRSUBDIRS= head uts lib
#
# Headers that can be built in parallel
#
-PARALLEL_HEADERS = sysheaders userheaders libheaders ucbheaders cmdheaders
+PARALLEL_HEADERS = userheaders libheaders ucbheaders cmdheaders
#
# Directories that can be built in parallel
@@ -212,7 +212,7 @@ $(ROOTDIRS) $(MSGDIRS):
userheaders: FRC
@cd head; pwd; $(MAKE) install_h
-libheaders: bldtools
+libheaders: bldtools sysheaders
@cd lib; pwd; $(MAKE) install_h
sysheaders: FRC
diff --git a/usr/src/lib/libc/Makefile.targ b/usr/src/lib/libc/Makefile.targ
index 31992a9ee8..a61e3f3e41 100644
--- a/usr/src/lib/libc/Makefile.targ
+++ b/usr/src/lib/libc/Makefile.targ
@@ -21,7 +21,7 @@
#
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
-# Copyright 2016 Joyent, Inc.
+# Copyright 2018 Joyent, Inc.
#
#
@@ -318,4 +318,23 @@ pics/%.o: $(LIBCBASE)/../port/threads/%.d $(THREADSOBJS:%=pics/%)
$(COMPILE.d) -C -xlazyload -s $< -o $@ $(THREADSOBJS:%=pics/%)
$(POST_PROCESS_O)
+# assym rules
+
+GENASSYM_C = $(LIBCDIR)/$(MACH)/genassym.c
+
+#
+# genassym is a funny fish: it's run on the build machine, so should use the
+# native compilers, but its job is to reflect the proto area header definitions,
+# so we need to use $(CPPFLAGS) not $(CPPFLAGS.native) to make sure we pick up
+# those headers.
+#
+genassym: $(GENASSYM_C)
+ $(NATIVECC) $(NATIVE_CFLAGS) $(CPPFLAGS) -o $@ $(GENASSYM_C)
+
+OFFSETS = $(LIBCDIR)/$(MACH)/offsets.in
+
+assym.h: $(OFFSETS) $(LIBCDIR)/$(MACH)/genassym
+ $(OFFSETS_CREATE) <$(OFFSETS) >$@
+ $(LIBCDIR)/$(MACH)/genassym >>$@
+
include $(SRC)/lib/Makefile.targ
diff --git a/usr/src/lib/libc/amd64/Makefile b/usr/src/lib/libc/amd64/Makefile
index 9b57d2517e..e239bc5fec 100644
--- a/usr/src/lib/libc/amd64/Makefile
+++ b/usr/src/lib/libc/amd64/Makefile
@@ -21,10 +21,10 @@
#
# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
-# Copyright (c) 2017, Joyent, Inc.
# Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
# Copyright 2013 Garrett D'Amore <garrett@damore.org>
# Copyright 2018 Nexenta Systems, Inc.
+# Copyright 2018 Joyent, Inc.
#
LIBCBASE= .
@@ -1258,20 +1258,6 @@ ASSYMDEP_OBJS= \
$(ASSYMDEP_OBJS:%=pics/%): assym.h
-# assym.h build rules
-
-GENASSYM_C = genassym.c
-
-genassym: $(GENASSYM_C)
- $(NATIVECC) $(NATIVE_CFLAGS) -Iinc -I$(LIBCDIR)/inc $(CPPFLAGS.native) \
- -o $@ $(GENASSYM_C)
-
-OFFSETS = $(LIBCDIR)/$(MACH)/offsets.in
-
-assym.h: $(OFFSETS) genassym
- $(OFFSETS_CREATE) <$(OFFSETS) >$@
- ./genassym >>$@
-
# derived C source and related explicit dependencies
$(LIBCDIR)/port/gen/errlst.c + \
$(LIBCDIR)/port/gen/new_list.c: $(LIBCDIR)/port/gen/errlist $(LIBCDIR)/port/gen/errlist.awk
diff --git a/usr/src/lib/libc/i386/Makefile.com b/usr/src/lib/libc/i386/Makefile.com
index dd647b2811..3d2c883fa1 100644
--- a/usr/src/lib/libc/i386/Makefile.com
+++ b/usr/src/lib/libc/i386/Makefile.com
@@ -21,10 +21,10 @@
#
# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
-# Copyright (c) 2017, Joyent, Inc.
# Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
# Copyright 2013 Garrett D'Amore <garrett@damore.org>
# Copyright 2018 Nexenta Systems, Inc.
+# Copyright 2018 Joyent, Inc.
#
LIBCDIR= $(SRC)/lib/libc
@@ -1339,20 +1339,6 @@ $(ASSYMDEP_OBJS:%=pics/%) := CPPFLAGS += -I.
$(ASSYMDEP_OBJS:%=pics/%): assym.h
-# assym.h build rules
-
-GENASSYM_C = $(LIBCDIR)/$(MACH)/genassym.c
-
-genassym: $(GENASSYM_C)
- $(NATIVECC) $(NATIVE_CFLAGS) -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc \
- -D__EXTENSIONS__ $(CPPFLAGS.native) -o $@ $(GENASSYM_C)
-
-OFFSETS = $(LIBCDIR)/$(MACH)/offsets.in
-
-assym.h: $(OFFSETS) genassym
- $(OFFSETS_CREATE) <$(OFFSETS) >$@
- ./genassym >>$@
-
# derived C source and related explicit dependencies
$(LIBCDIR)/port/gen/errlst.c + \
$(LIBCDIR)/port/gen/new_list.c: $(LIBCDIR)/port/gen/errlist $(LIBCDIR)/port/gen/errlist.awk
diff --git a/usr/src/lib/libc/sparc/Makefile.com b/usr/src/lib/libc/sparc/Makefile.com
index 20a4e0fd4e..14fe9c26a6 100644
--- a/usr/src/lib/libc/sparc/Makefile.com
+++ b/usr/src/lib/libc/sparc/Makefile.com
@@ -21,10 +21,10 @@
#
# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
-# Copyright 2016 Joyent, Inc.
# Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
# Copyright 2013 Garrett D'Amore <garrett@damore.org>
# Copyright 2018 Nexenta Systems, Inc.
+# Copyright 2018 Joyent, Inc.
#
LIBCDIR= $(SRC)/lib/libc
@@ -1411,18 +1411,6 @@ $(ASSYMDEP_OBJS:%=pics/%): assym.h
assym.h := CFLAGS += -g
-GENASSYM_C = $(LIBCDIR)/$(MACH)/genassym.c
-
-genassym: $(GENASSYM_C)
- $(NATIVECC) $(NATIVE_CFLAGS) -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc \
- $(CPPFLAGS.native) -o $@ $(GENASSYM_C)
-
-OFFSETS = $(LIBCDIR)/$(MACH)/offsets.in
-
-assym.h: $(OFFSETS) genassym
- $(OFFSETS_CREATE) <$(OFFSETS) >$@
- ./genassym >>$@
-
# derived C source and related explicit dependencies
$(LIBCDIR)/port/gen/errlst.c + \
$(LIBCDIR)/port/gen/new_list.c: $(LIBCDIR)/port/gen/errlist $(LIBCDIR)/port/gen/errlist.awk
diff --git a/usr/src/lib/libc/sparcv9/Makefile.com b/usr/src/lib/libc/sparcv9/Makefile.com
index 8e8fc96f16..113a9d1ba9 100644
--- a/usr/src/lib/libc/sparcv9/Makefile.com
+++ b/usr/src/lib/libc/sparcv9/Makefile.com
@@ -22,10 +22,10 @@
#
# Copyright 2016 Gary Mills
# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
-# Copyright (c) 2015, Joyent, Inc. All rights reserved.
# Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
# Copyright 2013 Garrett D'Amore <garrett@damore.org>
# Copyright 2018 Nexenta Systems, Inc.
+# Copyright 2018 Joyent, Inc.
#
LIBCDIR= $(SRC)/lib/libc
@@ -1325,18 +1325,6 @@ $(ASSYMDEP_OBJS:%=pics/%): assym.h
assym.h := CFLAGS64 += -g
-GENASSYM_C = $(LIBCDIR)/$(MACH)/genassym.c
-
-genassym: $(GENASSYM_C)
- $(NATIVECC) $(NATIVE_CFLAGS) -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc \
- $(CPPFLAGS.native) -o $@ $(GENASSYM_C)
-
-OFFSETS = $(LIBCDIR)/$(MACH)/offsets.in
-
-assym.h: $(OFFSETS) genassym
- $(OFFSETS_CREATE) <$(OFFSETS) >$@
- ./genassym >>$@
-
# derived C source and related explicit dependencies
$(LIBCDIR)/port/gen/new_list.c: $(LIBCDIR)/port/gen/errlist $(LIBCDIR)/port/gen/errlist.awk
cd $(LIBCDIR)/port/gen; pwd; $(AWK) -f errlist.awk < errlist