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


  31 P_COMOBJS=      debugdata.o \
  32                 analyze.o       elf.o           external.o      globals.o \
  33                 malloc.o        paths.o         setup.o         util.o \
  34                 dlfcns.o        config_elf.o    locale.o        tsort.o \
  35                 remove.o        move.o          tls.o           cap.o
  36 
  37 S_COMOBJS=      debug.o         audit.o         object.o
  38 
  39 G_MACHOBJS=     doreloc.o
  40 
  41 P_MACHOBJS=     amd64_elf.o     _setup.o        dlamd64getunwind.o
  42 
  43 CP_MACHOBJS=
  44 
  45 S_MACHOBJS=     
  46 
  47 P_ASOBJS=       boot.o          boot_elf.o      caller.o
  48 
  49 S_ASOBJS=       
  50 
  51 CRTSRCS=        ../../../../lib/common/amd64
  52 CRTI=           pics/crti.o
  53 CRTN=           pics/crtn.o
  54 CRTS=           $(CRTI)         $(CRTN)
  55 
  56 include         $(SRC)/cmd/sgs/rtld/Makefile.com
  57 include         $(SRC)/lib/Makefile.lib.64
  58 
  59 # We build 64-bit objects with gcc by default
  60 MAPFILE-ORDER =                 ../common/mapfile-order-devpro
  61 $(__GNUC64)MAPFILE-ORDER =      ../common/mapfile-order-gcc
  62 
  63 # Add any machine specific flags.
  64 
  65 CFLAGS +=       -xregs=no%appl
  66 ASFLAGS +=      -D__amd64 -D_ELF64 $(amd64_ASFLAGS)
  67 ADBGENFLAGS +=  -mlp64
  68 ADBGENCFLAGS += -erroff=%all
  69 ADBSUB=         $(ADBSUB64)
  70 CPPFLAGS +=     -D_ELF64
  71 LINTFLAGS64 +=  $(VAR_LINTFLAGS64)




  31 P_COMOBJS=      debugdata.o \
  32                 analyze.o       elf.o           external.o      globals.o \
  33                 malloc.o        paths.o         setup.o         util.o \
  34                 dlfcns.o        config_elf.o    locale.o        tsort.o \
  35                 remove.o        move.o          tls.o           cap.o
  36 
  37 S_COMOBJS=      debug.o         audit.o         object.o
  38 
  39 G_MACHOBJS=     doreloc.o
  40 
  41 P_MACHOBJS=     amd64_elf.o     _setup.o        dlamd64getunwind.o
  42 
  43 CP_MACHOBJS=
  44 
  45 S_MACHOBJS=     
  46 
  47 P_ASOBJS=       boot.o          boot_elf.o      caller.o
  48 
  49 S_ASOBJS=       
  50 
  51 CRTSRCS=        ../../../../lib/crt/amd64
  52 CRTI=           pics/crti.o
  53 CRTN=           pics/crtn.o
  54 CRTS=           $(CRTI)         $(CRTN)
  55 
  56 include         $(SRC)/cmd/sgs/rtld/Makefile.com
  57 include         $(SRC)/lib/Makefile.lib.64
  58 
  59 # We build 64-bit objects with gcc by default
  60 MAPFILE-ORDER =                 ../common/mapfile-order-devpro
  61 $(__GNUC64)MAPFILE-ORDER =      ../common/mapfile-order-gcc
  62 
  63 # Add any machine specific flags.
  64 
  65 CFLAGS +=       -xregs=no%appl
  66 ASFLAGS +=      -D__amd64 -D_ELF64 $(amd64_ASFLAGS)
  67 ADBGENFLAGS +=  -mlp64
  68 ADBGENCFLAGS += -erroff=%all
  69 ADBSUB=         $(ADBSUB64)
  70 CPPFLAGS +=     -D_ELF64
  71 LINTFLAGS64 +=  $(VAR_LINTFLAGS64)