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/vi/port/Makefile
          +++ new/usr/src/cmd/vi/port/Makefile
↓ open down ↓ 109 lines elided ↑ open up ↑
 110  110          $(LINK.c) $(XPG4EXOBJS) -o $@ $(LDLIBS)
 111  111          $(POST_PROCESS)
 112  112  
 113  113  ex.xpg6: $(XD6) $(XPG6EXOBJS)
 114  114          $(LINK.c) $(XPG6EXOBJS) -o $@ $(LDLIBS)
 115  115          $(POST_PROCESS)
 116  116  
 117  117  $(XD4)/compile.o $(XD6)/compile.o: ../../expr/compile.c
 118  118          $(COMPILE.c) -o $@ ../../expr/compile.c
 119  119  
 120      -%values-xpg4.o: ../../../lib/common/common/values-xpg4.c
 121      -        $(COMPILE.c) -o $@ ../../../lib/common/common/values-xpg4.c
      120 +%values-xpg4.o: ../../../lib/crt/common/values-xpg4.c
      121 +        $(COMPILE.c) -o $@ ../../../lib/crt/common/values-xpg4.c
 122  122  
 123      -%values-xpg6.o: ../../../lib/common/common/values-xpg6.c
 124      -        $(COMPILE.c) -o $@ ../../../lib/common/common/values-xpg6.c
      123 +%values-xpg6.o: ../../../lib/crt/common/values-xpg6.c
      124 +        $(COMPILE.c) -o $@ ../../../lib/crt/common/values-xpg6.c
 125  125  
 126  126  $(XPG4EXOBJS): $(XD4)
 127  127  
 128  128  $(XPG6EXOBJS): $(XD6)
 129  129  
 130  130  $(XD4)/%.o:     %.c
 131  131          $(COMPILE.c) -o $@ $<
 132  132  
 133  133  $(XD6)/%.o:     %.c
 134  134          $(COMPILE.c) -o $@ $<
↓ open down ↓ 39 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX