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/pkg/manifests/developer-library-lint.mf
          +++ new/usr/src/pkg/manifests/developer-library-lint.mf
↓ open down ↓ 18 lines elided ↑ open up ↑
  19   19  # CDDL HEADER END
  20   20  #
  21   21  
  22   22  #
  23   23  # Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
  24   24  # Copyright 2012 OmniTI Computer Consulting, Inc.  All rights reserved.
  25   25  # Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
  26   26  #
  27   27  
  28   28  set name=pkg.fmri value=pkg:/developer/library/lint@$(PKGVERS)
  29      -set name=pkg.description \
  30      -    value="lint libraries and startup objects for software development"
       29 +set name=pkg.description value="lint libraries for software development"
  31   30  set name=pkg.summary value="Lint Libraries"
  32   31  set name=info.classification value=org.opensolaris.category.2008:Development/C
  33   32  set name=variant.arch value=$(ARCH)
  34   33  dir path=lib
  35   34  dir path=lib/$(ARCH64)
  36   35  dir path=usr group=sys
  37   36  dir path=usr/ccs
  38   37  dir path=usr/ccs/lib
  39   38  dir path=usr/ccs/lib/$(ARCH64)
  40   39  dir path=usr/lib
↓ open down ↓ 149 lines elided ↑ open up ↑
 190  189  file path=lib/llib-ltsnet
 191  190  file path=lib/llib-ltsnet.ln
 192  191  file path=lib/llib-ltsol
 193  192  file path=lib/llib-ltsol.ln
 194  193  file path=lib/llib-lumem
 195  194  file path=lib/llib-lumem.ln
 196  195  file path=lib/llib-luuid
 197  196  file path=lib/llib-luuid.ln
 198  197  file path=lib/llib-lxnet
 199  198  file path=lib/llib-lxnet.ln
 200      -$(i386_ONLY)file path=usr/lib/$(ARCH64)/crt1.o
 201      -file path=usr/lib/$(ARCH64)/crti.o
 202      -file path=usr/lib/$(ARCH64)/crtn.o
 203      -$(i386_ONLY)file path=usr/lib/$(ARCH64)/gcrt1.o
 204  199  file path=usr/lib/$(ARCH64)/llib-lads.ln
 205  200  file path=usr/lib/$(ARCH64)/llib-ladutils.ln
 206  201  file path=usr/lib/$(ARCH64)/llib-lbsdmalloc.ln
 207  202  file path=usr/lib/$(ARCH64)/llib-lcfgadm.ln
 208  203  file path=usr/lib/$(ARCH64)/llib-lcommputil.ln
 209  204  file path=usr/lib/$(ARCH64)/llib-lcrypt.ln
 210  205  file path=usr/lib/$(ARCH64)/llib-lexacct.ln
 211  206  file path=usr/lib/$(ARCH64)/llib-lform.ln
 212  207  file path=usr/lib/$(ARCH64)/llib-lfstyp.ln
 213  208  file path=usr/lib/$(ARCH64)/llib-lgss.ln
↓ open down ↓ 19 lines elided ↑ open up ↑
 233  228  file path=usr/lib/$(ARCH64)/llib-lsched.ln
 234  229  file path=usr/lib/$(ARCH64)/llib-lsctp.ln
 235  230  file path=usr/lib/$(ARCH64)/llib-lshare.ln
 236  231  file path=usr/lib/$(ARCH64)/llib-lsip.ln
 237  232  file path=usr/lib/$(ARCH64)/llib-lsldap.ln
 238  233  file path=usr/lib/$(ARCH64)/llib-lsmbios.ln
 239  234  $(sparc_ONLY)file path=usr/lib/$(ARCH64)/llib-lv12n.ln
 240  235  file path=usr/lib/$(ARCH64)/llib-lvolmgt.ln
 241  236  file path=usr/lib/$(ARCH64)/llib-lwrap.ln
 242  237  file path=usr/lib/$(ARCH64)/llib-lzoneinfo.ln
 243      -file path=usr/lib/$(ARCH64)/values-Xa.o
 244      -file path=usr/lib/$(ARCH64)/values-Xc.o
 245      -file path=usr/lib/$(ARCH64)/values-Xs.o
 246      -file path=usr/lib/$(ARCH64)/values-Xt.o
 247      -file path=usr/lib/$(ARCH64)/values-xpg4.o
 248      -file path=usr/lib/$(ARCH64)/values-xpg6.o
 249      -$(i386_ONLY)file path=usr/lib/crt1.o
 250      -file path=usr/lib/crti.o
 251      -file path=usr/lib/crtn.o
 252      -$(i386_ONLY)file path=usr/lib/gcrt1.o
 253  238  file path=usr/lib/llib-lads
 254  239  file path=usr/lib/llib-lads.ln
 255  240  file path=usr/lib/llib-ladutils
 256  241  file path=usr/lib/llib-ladutils.ln
 257  242  file path=usr/lib/llib-lbsdmalloc
 258  243  file path=usr/lib/llib-lbsdmalloc.ln
 259  244  file path=usr/lib/llib-lcfgadm
 260  245  file path=usr/lib/llib-lcfgadm.ln
 261  246  file path=usr/lib/llib-lcommputil
 262  247  file path=usr/lib/llib-lcommputil.ln
↓ open down ↓ 66 lines elided ↑ open up ↑
 329  314  file path=usr/lib/llib-lzoneinfo.ln
 330  315  file path=usr/lib/scsi/$(ARCH64)/llib-lscsi.ln
 331  316  file path=usr/lib/scsi/$(ARCH64)/llib-lses.ln
 332  317  file path=usr/lib/scsi/$(ARCH64)/llib-lsmp.ln
 333  318  file path=usr/lib/scsi/llib-lscsi
 334  319  file path=usr/lib/scsi/llib-lscsi.ln
 335  320  file path=usr/lib/scsi/llib-lses
 336  321  file path=usr/lib/scsi/llib-lses.ln
 337  322  file path=usr/lib/scsi/llib-lsmp
 338  323  file path=usr/lib/scsi/llib-lsmp.ln
 339      -file path=usr/lib/values-Xa.o
 340      -file path=usr/lib/values-Xc.o
 341      -file path=usr/lib/values-Xs.o
 342      -file path=usr/lib/values-Xt.o
 343      -file path=usr/lib/values-xpg4.o
 344      -file path=usr/lib/values-xpg6.o
 345  324  file path=usr/xpg4/lib/$(ARCH64)/llib-lcurses.ln
 346  325  file path=usr/xpg4/lib/llib-lcurses
 347  326  file path=usr/xpg4/lib/llib-lcurses.ln
 348  327  legacy pkg=SUNWarc \
 349  328      desc="lint libraries and startup objects for software development" \
 350  329      name="Lint Libraries (usr)"
 351  330  legacy pkg=SUNWarcr desc="lint libraries for software development" \
 352  331      name="Lint Libraries (root)"
 353  332  license cr_Sun license=cr_Sun
 354  333  license lic_CDDL license=lic_CDDL
↓ open down ↓ 14 lines elided ↑ open up ↑
 369  348  link path=usr/ccs/lib/$(ARCH64)/llib-lmenu.ln \
 370  349      target=../../../lib/$(ARCH64)/llib-lmenu.ln
 371  350  link path=usr/ccs/lib/$(ARCH64)/llib-lpanel.ln \
 372  351      target=../../../lib/$(ARCH64)/llib-lpanel.ln
 373  352  link path=usr/ccs/lib/$(ARCH64)/llib-ltermcap.ln \
 374  353      target=../../../../lib/$(ARCH64)/llib-ltermcap.ln
 375  354  link path=usr/ccs/lib/$(ARCH64)/llib-ltermlib.ln \
 376  355      target=../../../../lib/$(ARCH64)/llib-lcurses.ln
 377  356  link path=usr/ccs/lib/$(ARCH64)/llib-ly.ln \
 378  357      target=../../../lib/$(ARCH64)/llib-ly.ln
 379      -link path=usr/ccs/lib/$(ARCH64)/values-Xa.o \
 380      -    target=../../../lib/$(ARCH64)/values-Xa.o
 381      -link path=usr/ccs/lib/$(ARCH64)/values-Xc.o \
 382      -    target=../../../lib/$(ARCH64)/values-Xc.o
 383      -link path=usr/ccs/lib/$(ARCH64)/values-Xs.o \
 384      -    target=../../../lib/$(ARCH64)/values-Xs.o
 385      -link path=usr/ccs/lib/$(ARCH64)/values-Xt.o \
 386      -    target=../../../lib/$(ARCH64)/values-Xt.o
 387      -link path=usr/ccs/lib/$(ARCH64)/values-xpg4.o \
 388      -    target=../../../lib/$(ARCH64)/values-xpg4.o
 389      -link path=usr/ccs/lib/$(ARCH64)/values-xpg6.o \
 390      -    target=../../../lib/$(ARCH64)/values-xpg6.o
 391  358  link path=usr/ccs/lib/llib-lcurses target=../../../lib/llib-lcurses
 392  359  link path=usr/ccs/lib/llib-lcurses.ln target=../../../lib/llib-lcurses.ln
 393  360  link path=usr/ccs/lib/llib-lform target=../../lib/llib-lform
 394  361  link path=usr/ccs/lib/llib-lform.ln target=../../lib/llib-lform.ln
 395  362  link path=usr/ccs/lib/llib-lgen target=../../../lib/llib-lgen
 396  363  link path=usr/ccs/lib/llib-lgen.ln target=../../../lib/llib-lgen.ln
 397  364  link path=usr/ccs/lib/llib-lmenu target=../../lib/llib-lmenu
 398  365  link path=usr/ccs/lib/llib-lmenu.ln target=../../lib/llib-lmenu.ln
 399  366  link path=usr/ccs/lib/llib-lpanel target=../../lib/llib-lpanel
 400  367  link path=usr/ccs/lib/llib-lpanel.ln target=../../lib/llib-lpanel.ln
 401  368  link path=usr/ccs/lib/llib-ltermcap target=../../../lib/llib-ltermcap
 402  369  link path=usr/ccs/lib/llib-ltermcap.ln target=../../../lib/llib-ltermcap.ln
 403  370  link path=usr/ccs/lib/llib-ltermlib target=../../../lib/llib-lcurses
 404  371  link path=usr/ccs/lib/llib-ltermlib.ln target=../../../lib/llib-lcurses.ln
 405      -link path=usr/ccs/lib/values-Xa.o target=../../lib/values-Xa.o
 406      -link path=usr/ccs/lib/values-Xc.o target=../../lib/values-Xc.o
 407      -link path=usr/ccs/lib/values-Xs.o target=../../lib/values-Xs.o
 408      -link path=usr/ccs/lib/values-Xt.o target=../../lib/values-Xt.o
 409      -link path=usr/ccs/lib/values-xpg4.o target=../../lib/values-xpg4.o
 410      -link path=usr/ccs/lib/values-xpg6.o target=../../lib/values-xpg6.o
 411  372  link path=usr/lib/$(ARCH64)/llib-ladm.ln \
 412  373      target=../../../lib/$(ARCH64)/llib-ladm.ln
 413  374  link path=usr/lib/$(ARCH64)/llib-laio.ln \
 414  375      target=../../../lib/$(ARCH64)/llib-laio.ln
 415  376  link path=usr/lib/$(ARCH64)/llib-lavl.ln \
 416  377      target=../../../lib/$(ARCH64)/llib-lavl.ln
 417  378  link path=usr/lib/$(ARCH64)/llib-lbsm.ln \
 418  379      target=../../../lib/$(ARCH64)/llib-lbsm.ln
 419  380  link path=usr/lib/$(ARCH64)/llib-lc.ln \
 420  381      target=../../../lib/$(ARCH64)/llib-lc.ln
↓ open down ↓ 154 lines elided ↑ open up ↑
 575  536  link path=usr/lib/llib-lthread_db target=../../lib/llib-lc_db
 576  537  link path=usr/lib/llib-lthread_db.ln target=../../lib/llib-lc_db.ln
 577  538  link path=usr/lib/llib-ltsnet.ln target=../../lib/llib-ltsnet.ln
 578  539  link path=usr/lib/llib-ltsol.ln target=../../lib/llib-ltsol.ln
 579  540  link path=usr/lib/llib-lumem target=../../lib/llib-lumem
 580  541  link path=usr/lib/llib-lumem.ln target=../../lib/llib-lumem.ln
 581  542  link path=usr/lib/llib-luuid target=../../lib/llib-luuid
 582  543  link path=usr/lib/llib-luuid.ln target=../../lib/llib-luuid.ln
 583  544  link path=usr/lib/llib-lxnet target=../../lib/llib-lxnet
 584  545  link path=usr/lib/llib-lxnet.ln target=../../lib/llib-lxnet.ln
      546 +# Used to be incorrectly in this package, pull it in for compatibility
      547 +depend fmri=system/library/c-runtime type=group
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX