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/mv/Makefile
          +++ new/usr/src/cmd/mv/Makefile
↓ open down ↓ 68 lines elided ↑ open up ↑
  69   69          $(POST_PROCESS_O)
  70   70  
  71   71  xpg4_%.o:    %.c
  72   72          $(COMPILE.c) -o $@ $<
  73   73          $(POST_PROCESS_O)
  74   74  
  75   75  xpg4_%.o:    $(SRC)/common/util/%.c
  76   76          $(COMPILE.c) -o $@ $<
  77   77          $(POST_PROCESS_O)
  78   78  
  79      -%values-xpg4.o:         ../../lib/common/common/values-xpg4.c
  80      -        $(COMPILE.c) -o $@ ../../lib/common/common/values-xpg4.c
       79 +%values-xpg4.o:         ../../lib/crt/common/values-xpg4.c
       80 +        $(COMPILE.c) -o $@ ../../lib/crt/common/values-xpg4.c
  81   81  
  82   82  $(CPFILE):      $(PROG)
  83   83          @$(RM) $(CPFILE); $(LN) $(PROG) $(CPFILE)
  84   84  
  85   85  $(LNFILE):      $(PROG)
  86   86          @$(RM) $(LNFILE); $(LN) $(PROG) $(LNFILE)
  87   87  
  88   88  install: all $(ROOTXPG4PROG) $(ROOTLINKS) $(ROOTXPG4LINKS)
  89   89  
  90   90  $(ROOTLINKS):   $(ROOTPROG)
↓ open down ↓ 13 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX