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


  59 $(PROG):        $$(OBJS)
  60         $(LINK.c) -o $@ $(OBJS) $(LDLIBS)
  61         $(POST_PROCESS)
  62 
  63 $(XPG4):        $$(XPG4OBJS)
  64         $(LINK.c) -o $@ $(XPG4OBJS) $(LDLIBS)
  65         $(POST_PROCESS)
  66 
  67 %.o:    $(SRC)/common/util/%.c
  68         $(COMPILE.c) $(OUTPUT_OPTION) $<
  69         $(POST_PROCESS_O)
  70 
  71 xpg4_%.o:    %.c
  72         $(COMPILE.c) -o $@ $<
  73         $(POST_PROCESS_O)
  74 
  75 xpg4_%.o:    $(SRC)/common/util/%.c
  76         $(COMPILE.c) -o $@ $<
  77         $(POST_PROCESS_O)
  78 
  79 %values-xpg4.o:         ../../lib/common/common/values-xpg4.c
  80         $(COMPILE.c) -o $@ ../../lib/common/common/values-xpg4.c
  81 
  82 $(CPFILE):      $(PROG)
  83         @$(RM) $(CPFILE); $(LN) $(PROG) $(CPFILE)
  84 
  85 $(LNFILE):      $(PROG)
  86         @$(RM) $(LNFILE); $(LN) $(PROG) $(LNFILE)
  87 
  88 install: all $(ROOTXPG4PROG) $(ROOTLINKS) $(ROOTXPG4LINKS)
  89 
  90 $(ROOTLINKS):   $(ROOTPROG)
  91         $(RM) $@
  92         $(LN) $(ROOTPROG) $@
  93 
  94 $(ROOTXPG4LINKS):       $(ROOTXPG4PROG)
  95         $(RM) $@
  96         $(LN) $(ROOTXPG4PROG) $@
  97 
  98 clean:
  99         $(RM) $(OBJS) $(XPG4OBJS)
 100 


  59 $(PROG):        $$(OBJS)
  60         $(LINK.c) -o $@ $(OBJS) $(LDLIBS)
  61         $(POST_PROCESS)
  62 
  63 $(XPG4):        $$(XPG4OBJS)
  64         $(LINK.c) -o $@ $(XPG4OBJS) $(LDLIBS)
  65         $(POST_PROCESS)
  66 
  67 %.o:    $(SRC)/common/util/%.c
  68         $(COMPILE.c) $(OUTPUT_OPTION) $<
  69         $(POST_PROCESS_O)
  70 
  71 xpg4_%.o:    %.c
  72         $(COMPILE.c) -o $@ $<
  73         $(POST_PROCESS_O)
  74 
  75 xpg4_%.o:    $(SRC)/common/util/%.c
  76         $(COMPILE.c) -o $@ $<
  77         $(POST_PROCESS_O)
  78 
  79 %values-xpg4.o:         ../../lib/crt/common/values-xpg4.c
  80         $(COMPILE.c) -o $@ ../../lib/crt/common/values-xpg4.c
  81 
  82 $(CPFILE):      $(PROG)
  83         @$(RM) $(CPFILE); $(LN) $(PROG) $(CPFILE)
  84 
  85 $(LNFILE):      $(PROG)
  86         @$(RM) $(LNFILE); $(LN) $(PROG) $(LNFILE)
  87 
  88 install: all $(ROOTXPG4PROG) $(ROOTLINKS) $(ROOTXPG4LINKS)
  89 
  90 $(ROOTLINKS):   $(ROOTPROG)
  91         $(RM) $@
  92         $(LN) $(ROOTPROG) $@
  93 
  94 $(ROOTXPG4LINKS):       $(ROOTXPG4PROG)
  95         $(RM) $@
  96         $(LN) $(ROOTXPG4PROG) $@
  97 
  98 clean:
  99         $(RM) $(OBJS) $(XPG4OBJS)
 100