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


  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        cache_a.out.o \
  36                 a.out.o
  37 
  38 G_MACHOBJS=     doreloc.o
  39 
  40 P_MACHOBJS=     sparc_elf.o     _setup.o
  41 
  42 CP_MACHOBJS=    common_sparc.o
  43 
  44 S_MACHOBJS=     sparc_a.out.o
  45 
  46 P_ASOBJS=       boot.o          boot_elf.o      caller.o
  47 
  48 S_ASOBJS=       boot_a.out.o
  49 
  50 CRTSRCS=        ../../../../lib/common/sparc
  51 CRTI=           pics/crti.o
  52 CRTN=           pics/crtn.o
  53 CRTS=           $(CRTI)         $(CRTN)
  54 
  55 CHKSRCS=        $(SRCBASE)/uts/common/krtld/reloc.h
  56 
  57 BASEPLAT =      sparc
  58 
  59 include         $(SRC)/Makefile.master
  60 
  61 # This is safe because linking is done only with the primary compiler.
  62 MAPFILE-ORDER =         ../common/mapfile-order-devpro
  63 $(__GNUC)MAPFILE-ORDER =        ../common/mapfile-order-gcc
  64 
  65 include         $(SRC)/cmd/sgs/rtld/Makefile.com
  66 
  67 # Add any a.out and machine specific flags.
  68 
  69 CPPFLAGS +=     -I../../../../uts/sparc/krtld -DA_OUT
  70 CFLAGS +=       -xregs=no%appl




  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        cache_a.out.o \
  36                 a.out.o
  37 
  38 G_MACHOBJS=     doreloc.o
  39 
  40 P_MACHOBJS=     sparc_elf.o     _setup.o
  41 
  42 CP_MACHOBJS=    common_sparc.o
  43 
  44 S_MACHOBJS=     sparc_a.out.o
  45 
  46 P_ASOBJS=       boot.o          boot_elf.o      caller.o
  47 
  48 S_ASOBJS=       boot_a.out.o
  49 
  50 CRTSRCS=        ../../../../lib/crt/sparcv7
  51 CRTI=           pics/crti.o
  52 CRTN=           pics/crtn.o
  53 CRTS=           $(CRTI)         $(CRTN)
  54 
  55 CHKSRCS=        $(SRCBASE)/uts/common/krtld/reloc.h
  56 
  57 BASEPLAT =      sparc
  58 
  59 include         $(SRC)/Makefile.master
  60 
  61 # This is safe because linking is done only with the primary compiler.
  62 MAPFILE-ORDER =         ../common/mapfile-order-devpro
  63 $(__GNUC)MAPFILE-ORDER =        ../common/mapfile-order-gcc
  64 
  65 include         $(SRC)/cmd/sgs/rtld/Makefile.com
  66 
  67 # Add any a.out and machine specific flags.
  68 
  69 CPPFLAGS +=     -I../../../../uts/sparc/krtld -DA_OUT
  70 CFLAGS +=       -xregs=no%appl