Print this page
crt: Need a position-independent CRT for PIE
- Implement the greatest possible part of the crt1 in C
- Implement SPARC versions of the ASM sections of crt1
- Build crt1 position-independently, minor ASM updates to be position
  independent
- Implement crt1 with the hook expected by modern GCC to support
  profiling, make gcrt1 a symlink for source compatibility (older GCC
  initializes profiling at firsnt use of _mcount if necessary, so
  doesn't need the gcrt)
- Split the CRT out of developer/library/lint into a separate c-runtime package

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/date/Makefile
          +++ new/usr/src/cmd/date/Makefile
↓ open down ↓ 12 lines elided ↑ open up ↑
  13   13  #
  14   14  # When distributing Covered Code, include this CDDL HEADER in each
  15   15  # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16   16  # If applicable, add the following below this CDDL HEADER, with the
  17   17  # fields enclosed by brackets "[]" replaced with your own identifying
  18   18  # information: Portions Copyright [yyyy] [name of copyright owner]
  19   19  #
  20   20  # CDDL HEADER END
  21   21  #
  22   22  #
  23      -#ident  "%Z%%M% %I%     %E% SMI"
  24      -#
  25   23  # Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  26   24  # Use is subject to license terms.
  27   25  #
  28   26  
  29   27  PROG= date
  30   28  XPG4PROG= date
  31   29  OBJS= date.o
  32   30  
  33   31  include ../Makefile.cmd
  34   32  
↓ open down ↓ 6 lines elided ↑ open up ↑
  41   39  
  42   40  all: $(PROG) $(XPG4)
  43   41  
  44   42  $(PROG) $(XPG4): $$(OBJS)
  45   43          $(LINK.c) -o $@ $(OBJS) $(LDLIBS)
  46   44          $(POST_PROCESS)
  47   45  
  48   46  
  49   47  install: all $(ROOTPROG) $(ROOTXPG4PROG)
  50   48  
  51      -values-xpg4.o: ../../lib/common/common/values-xpg4.c
  52      -        $(COMPILE.c) -o $@ ../../lib/common/common/values-xpg4.c
       49 +values-xpg4.o: ../../lib/crt/common/values-xpg4.c
       50 +        $(COMPILE.c) -o $@ ../../lib/crt/common/values-xpg4.c
  53   51  
  54   52  clean:
  55   53          $(RM) $(OBJS)
  56   54  
  57   55  # do not lint date.xpg4
  58   56  lint:   lint_PROG
  59   57  
  60   58  include ../Makefile.targ
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX