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/ed/Makefile
          +++ new/usr/src/cmd/ed/Makefile
↓ open down ↓ 95 lines elided ↑ open up ↑
  96   96          -@mkdir -p $@
  97   97  
  98   98  $(POFILE): $(POFILES)
  99   99          $(RM) $@
 100  100          cat $(POFILES) > $@
 101  101  
 102  102  install: all $(ROOTPROG) $(ROOTXPG4PROG) $(ROOTXPG6PROG)
 103  103          $(RM) $(ROOTBIN)/red
 104  104          $(LN) $(ROOTBIN)/ed $(ROOTBIN)/red
 105  105  
 106      -values-xpg4.o: ../../lib/common/common/values-xpg4.c
 107      -        $(COMPILE.c) -o $@ ../../lib/common/common/values-xpg4.c
      106 +values-xpg4.o: ../../lib/crt/common/values-xpg4.c
      107 +        $(COMPILE.c) -o $@ ../../lib/crt/common/values-xpg4.c
 108  108  
 109      -values-xpg6.o: ../../lib/common/common/values-xpg6.c
 110      -        $(COMPILE.c) -o $@ ../../lib/common/common/values-xpg6.c
      109 +values-xpg6.o: ../../lib/crt/common/values-xpg6.c
      110 +        $(COMPILE.c) -o $@ ../../lib/crt/common/values-xpg6.c
 111  111  
 112  112  clean:
 113  113          -@rm -rf $(OBJS) $(XPG4) $(XPG6) edobjs.xpg4 edobjs.xpg6 \
 114  114                  compile.c.i
 115  115  
 116  116  lint:   lint_PROG
 117  117  
 118  118  include ../Makefile.targ
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX