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


  29 P_COMOBJS=      debugdata.o \
  30                 analyze.o       elf.o           external.o      globals.o \
  31                 malloc.o        paths.o         setup.o         util.o \
  32                 dlfcns.o        config_elf.o    locale.o        tsort.o \
  33                 remove.o        move.o          tls.o           cap.o
  34 
  35 S_COMOBJS=      debug.o         audit.o         object.o
  36 
  37 G_MACHOBJS=     doreloc.o
  38 
  39 P_MACHOBJS=     sparc_elf.o     _setup.o
  40 
  41 CP_MACHOBJS=    common_sparc.o
  42 
  43 S_MACHOBJS=     
  44 
  45 P_ASOBJS=       boot.o          boot_elf.o      caller.o
  46 
  47 S_ASOBJS=       
  48 
  49 CRTSRCS=        ../../../../lib/common/sparcv9
  50 CRTI=           pics/crti.o
  51 CRTN=           pics/crtn.o
  52 CRTS=           $(CRTI)         $(CRTN)
  53 
  54 CHKSRCS=        $(SRCBASE)/uts/common/krtld/reloc.h
  55 
  56 BASEPLAT =      sparc
  57 
  58 include         $(SRC)/Makefile.master
  59 
  60 # We build sparc objects with cc by default
  61 MAPFILE-ORDER =         ../common/mapfile-order-devpro
  62 $(__GNUC64)MAPFILE-ORDER =      ../common/mapfile-order-gcc
  63 
  64 include         $(SRC)/cmd/sgs/rtld/Makefile.com
  65 include         $(SRC)/lib/Makefile.lib.64
  66 
  67 # Add any machine specific flags.
  68 
  69 CPPFLAGS +=     -I../../../../uts/sparc/krtld




  29 P_COMOBJS=      debugdata.o \
  30                 analyze.o       elf.o           external.o      globals.o \
  31                 malloc.o        paths.o         setup.o         util.o \
  32                 dlfcns.o        config_elf.o    locale.o        tsort.o \
  33                 remove.o        move.o          tls.o           cap.o
  34 
  35 S_COMOBJS=      debug.o         audit.o         object.o
  36 
  37 G_MACHOBJS=     doreloc.o
  38 
  39 P_MACHOBJS=     sparc_elf.o     _setup.o
  40 
  41 CP_MACHOBJS=    common_sparc.o
  42 
  43 S_MACHOBJS=     
  44 
  45 P_ASOBJS=       boot.o          boot_elf.o      caller.o
  46 
  47 S_ASOBJS=       
  48 
  49 CRTSRCS=        ../../../../lib/crt/sparcv9
  50 CRTI=           pics/crti.o
  51 CRTN=           pics/crtn.o
  52 CRTS=           $(CRTI)         $(CRTN)
  53 
  54 CHKSRCS=        $(SRCBASE)/uts/common/krtld/reloc.h
  55 
  56 BASEPLAT =      sparc
  57 
  58 include         $(SRC)/Makefile.master
  59 
  60 # We build sparc objects with cc by default
  61 MAPFILE-ORDER =         ../common/mapfile-order-devpro
  62 $(__GNUC64)MAPFILE-ORDER =      ../common/mapfile-order-gcc
  63 
  64 include         $(SRC)/cmd/sgs/rtld/Makefile.com
  65 include         $(SRC)/lib/Makefile.lib.64
  66 
  67 # Add any machine specific flags.
  68 
  69 CPPFLAGS +=     -I../../../../uts/sparc/krtld