# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License, Version 1.0 only # (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 # # #ident "%Z%%M% %I% %E% SMI" # # Copyright (c) 1996 by Sun Microsystems, Inc. # All rights reserved. include $(SRC)/cmd/sgs/Makefile.sub # # 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 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # Copyright 2019 OmniOS Community Edition (OmniOSce) Association. # LIBRARY= 0@0.a VERS= .1 OBJECTS= 0@0.o CRTI= pics/crti.o CRTN= pics/crtn.o CRTS= $(CRTI) $(CRTN) include $(SRC)/lib/Makefile.lib MAPFILES= ASFLAGS += -D_ASM $(CPPFLAGS) ASFLAGS64 += -D_ASM $(CPPFLAGS) DYNFLAGS += $(BLOCAL) $(ZNOVERSION) $(ZINITFIRST) LDLIBS += -lc BUILD.SO= $(LD) -o $@ $(GSHARED) $(DYNFLAGS) $(CRTI) $(PICS) $(LDLIBS) $(CRTN) SRCS= $(OBJECTS:%.o=../common/%.c) CLEANFILES += $(CRTS) CLOBBERFILES += $(DYNLIB) ROOTDYNLIB= $(DYNLIB:%=$(ROOTLIBDIR)/%) # # 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 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # Copyright 2019 OmniOS Community Edition (OmniOSce) Association. # pics/%.o: ../common/%.c $(COMPILE.c) -o $@ $< $(POST_PROCESS_O) pics/%.o: $(CRTSRCS)/%.s $(COMPILE.s) $< -o $@ $(POST_PROCESS_O) all: $(DYNLIB) $(DYNLIB): pics .WAIT $(CRTS) include $(SRC)/lib/Makefile.targ # # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License, Version 1.0 only # (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 2004 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # CRTSRCS = $(SRC)/lib/crt/amd64 include $(SRC)/cmd/sgs/0@0/Makefile.com ASFLAGS += -D__amd64 $(amd64_ASFLAGS) .KEEP_STATE: install: all $(ROOTLIBDIR64)/$(DYNLIB) include $(SRC)/cmd/sgs/0@0/Makefile.targ include $(SRC)/Makefile.master.64 /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (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 (c) 1996 by Sun Microsystems, Inc. * * Map in a read-only page of zeroes at location zero, for stupid * programs that think a null pointer is as good as a null string. * * Use: * LD_PRELOAD=0@0.so.1 program args ... * */ /* LINTLIBRARY */ #include #include #include #include #pragma init(__zero_at_zero) void __zero_at_zero() { int fd; if ((fd = open("/dev/zero", O_RDWR)) < 0) return; (void) mmap(0, 1, PROT_READ, MAP_PRIVATE|MAP_FIXED, fd, 0); (void) close(fd); }