Print this page
    
OS-5637 lxbrand vdso busts golang stack budget
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Ryan Zezeski <rpz@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Approved by: Jerry Jelinek <jerry.jelinek@joyent.com>
OS-5192 need faster clock_gettime
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Joshua M. Clulow <jmc@joyent.com>
Reviewed by: Ryan Zezeski <ryan@zinascii.com>
OS-3294 add support for inotify
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
    
      
        | Split | 
	Close | 
      
      | Expand all | 
      | Collapse all | 
    
    
          --- old/usr/src/lib/libc/i386/Makefile.com
          +++ new/usr/src/lib/libc/i386/Makefile.com
   1    1  #
   2    2  # CDDL HEADER START
   3    3  #
   4    4  # The contents of this file are subject to the terms of the
   5    5  # Common Development and Distribution License (the "License").
   6    6  # You may not use this file except in compliance with the License.
   7    7  #
   8    8  # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9    9  # or http://www.opensolaris.org/os/licensing.
  10   10  # See the License for the specific language governing permissions
  11   11  # and limitations under the License.
  12   12  #
  13   13  # When distributing Covered Code, include this CDDL HEADER in each
  14   14  # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15  # If applicable, add the following below this CDDL HEADER, with the
  16   16  # fields enclosed by brackets "[]" replaced with your own identifying
  17   17  # information: Portions Copyright [yyyy] [name of copyright owner]
  18   18  #
  19   19  # CDDL HEADER END
  20   20  #
  21   21  #
  22   22  # Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
  23   23  # Copyright 2016 Joyent, Inc.
  24   24  # Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
  25   25  # Copyright 2013 Garrett D'Amore <garrett@damore.org>
  26   26  #
  
    | 
      ↓ open down ↓ | 
    26 lines elided | 
    
      ↑ open up ↑ | 
  
  27   27  # Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  28   28  # Use is subject to license terms.
  29   29  #
  30   30  
  31   31  LIBCDIR=        $(SRC)/lib/libc
  32   32  LIB_PIC=        libc_pic.a
  33   33  VERS=           .1
  34   34  CPP=            /usr/lib/cpp
  35   35  TARGET_ARCH=    i386
  36   36  
       37 +# include comm page definitions
       38 +include $(SRC)/lib/commpage/Makefile.shared.com
       39 +include $(SRC)/lib/commpage/Makefile.shared.targ
       40 +
  37   41  VALUES=         values-Xa.o
  38   42  
  39   43  # objects are grouped by source directory
  40   44  
  41   45  # local objects
  42   46  STRETS=
  43   47  
  44   48  CRTOBJS=                        \
  45   49          cerror.o                \
  46   50          cerror64.o
  47   51  
  48   52  DYNOBJS=                        \
  49   53          _rtbootld.o
  50   54  
  51   55  FPOBJS=                         \
  52   56          _D_cplx_div.o           \
  53   57          _D_cplx_div_ix.o        \
  54   58          _D_cplx_div_rx.o        \
  55   59          _D_cplx_lr_div.o        \
  56   60          _D_cplx_lr_div_ix.o     \
  57   61          _D_cplx_lr_div_rx.o     \
  58   62          _D_cplx_mul.o           \
  59   63          _F_cplx_div.o           \
  60   64          _F_cplx_div_ix.o        \
  61   65          _F_cplx_div_rx.o        \
  62   66          _F_cplx_lr_div.o        \
  63   67          _F_cplx_lr_div_ix.o     \
  64   68          _F_cplx_lr_div_rx.o     \
  65   69          _F_cplx_mul.o           \
  66   70          _X_cplx_div.o           \
  67   71          _X_cplx_div_ix.o        \
  68   72          _X_cplx_div_rx.o        \
  69   73          _X_cplx_lr_div.o        \
  70   74          _X_cplx_lr_div_ix.o     \
  71   75          _X_cplx_lr_div_rx.o     \
  72   76          _X_cplx_mul.o           \
  73   77          fpgetmask.o             \
  74   78          fpgetround.o            \
  75   79          fpgetsticky.o           \
  76   80          fpsetmask.o             \
  77   81          fpsetround.o            \
  78   82          fpsetsticky.o           \
  79   83          fpstart.o               \
  80   84          ieee.o
  81   85  
  82   86  FPASMOBJS=                      \
  83   87          __xgetRD.o              \
  84   88          _base_il.o              \
  85   89          _xtoll.o                \
  86   90          _xtoull.o               \
  87   91          fpcw.o
  88   92  
  89   93  ATOMICOBJS=                     \
  90   94          atomic.o
  91   95  
  92   96  CHACHAOBJS=                     \
  93   97          chacha.o
  94   98  
  95   99  XATTROBJS=                      \
  96  100          xattr_common.o
  97  101  
  98  102  COMOBJS=                        \
  99  103          bcmp.o                  \
 100  104          bcopy.o                 \
 101  105          bsearch.o               \
 102  106          bzero.o                 \
  
    | 
      ↓ open down ↓ | 
    56 lines elided | 
    
      ↑ open up ↑ | 
  
 103  107          qsort.o                 \
 104  108          strtol.o                \
 105  109          strtoul.o               \
 106  110          strtoll.o               \
 107  111          strtoull.o
 108  112  
 109  113  DTRACEOBJS=                     \
 110  114          dtrace_data.o
 111  115  
 112  116  GENOBJS=                        \
      117 +        $(COMMPAGE_OBJS)        \
 113  118          _div64.o                \
 114  119          _divdi3.o               \
 115  120          _getsp.o                \
 116  121          _mul64.o                \
 117  122          abs.o                   \
 118  123          alloca.o                \
 119  124          arc4random.o            \
 120  125          arc4random_uniform.o    \
 121  126          byteorder.o             \
 122  127          byteorder64.o           \
 123  128          cuexit.o                \
 124  129          ecvt.o                  \
 125  130          endian.o                \
 126  131          errlst.o                \
 127  132          i386_data.o             \
 128  133          ladd.o                  \
 129  134          ldivide.o               \
 130  135          lmul.o                  \
 131  136          lock.o                  \
 132  137          lshiftl.o               \
 133  138          lsign.o                 \
 134  139          lsub.o                  \
 135  140          makectxt.o              \
 136  141          memccpy.o               \
 137  142          memchr.o                \
 138  143          memcmp.o                \
 139  144          memcpy.o                \
 140  145          memset.o                \
 141  146          new_list.o              \
 142  147          setjmp.o                \
 143  148          siginfolst.o            \
 144  149          siglongjmp.o            \
 145  150          strcat.o                \
 146  151          strchr.o                \
 147  152          strcmp.o                \
 148  153          strcpy.o                \
 149  154          strlen.o                \
 150  155          strncat.o               \
 151  156          strncmp.o               \
 152  157          strncpy.o               \
 153  158          strnlen.o               \
 154  159          strrchr.o               \
 155  160          sync_instruction_memory.o
 156  161  
 157  162  # sysobjs that contain large-file interfaces
 158  163  COMSYSOBJS64=                   \
 159  164          fstatvfs64.o            \
 160  165          getdents64.o            \
 161  166          getrlimit64.o           \
 162  167          lseek64.o               \
 163  168          mmap64.o                \
 164  169          pread64.o               \
 165  170          preadv64.o              \
 166  171          pwrite64.o              \
 167  172          pwritev64.o             \
 168  173          setrlimit64.o           \
 169  174          statvfs64.o
 170  175  
 171  176  SYSOBJS64=
 172  177  
 173  178  COMSYSOBJS=                     \
 174  179          __clock_timer.o         \
 175  180          __getloadavg.o          \
 176  181          __rusagesys.o           \
 177  182          __signotify.o           \
 178  183          __sigrt.o               \
 179  184          __time.o                \
 180  185          _lgrp_home_fast.o       \
 181  186          _lgrpsys.o              \
 182  187          _nfssys.o               \
 183  188          _portfs.o               \
 184  189          _pset.o                 \
 185  190          _rpcsys.o               \
 186  191          _sigaction.o            \
 187  192          _so_accept.o            \
 188  193          _so_bind.o              \
 189  194          _so_connect.o           \
 190  195          _so_getpeername.o       \
 191  196          _so_getsockname.o       \
 192  197          _so_getsockopt.o        \
 193  198          _so_listen.o            \
 194  199          _so_recv.o              \
 195  200          _so_recvfrom.o          \
 196  201          _so_recvmsg.o           \
 197  202          _so_send.o              \
 198  203          _so_sendmsg.o           \
 199  204          _so_sendto.o            \
 200  205          _so_setsockopt.o        \
 201  206          _so_shutdown.o          \
 202  207          _so_socket.o            \
 203  208          _so_socketpair.o        \
 204  209          _sockconfig.o           \
 205  210          acct.o                  \
 206  211          acl.o                   \
 207  212          adjtime.o               \
 208  213          alarm.o                 \
 209  214          brk.o                   \
 210  215          chdir.o                 \
 211  216          chroot.o                \
 212  217          cladm.o                 \
 213  218          close.o                 \
 214  219          execve.o                \
 215  220          exit.o                  \
 216  221          facl.o                  \
 217  222          fchdir.o                \
 218  223          fchroot.o               \
 219  224          fdsync.o                \
 220  225          fpathconf.o             \
 221  226          fstatfs.o               \
 222  227          fstatvfs.o              \
 223  228          getcpuid.o              \
 224  229          getdents.o              \
 225  230          getegid.o               \
 226  231          geteuid.o               \
 227  232          getgid.o                \
 228  233          getgroups.o             \
 229  234          gethrtime.o             \
 230  235          getitimer.o             \
 231  236          getmsg.o                \
 232  237          getpid.o                \
 233  238          getpmsg.o               \
 234  239          getppid.o               \
 235  240          getrandom.o             \
 236  241          getrlimit.o             \
 237  242          getuid.o                \
 238  243          gtty.o                  \
 239  244          install_utrap.o         \
 240  245          ioctl.o                 \
 241  246          kaio.o                  \
 242  247          kill.o                  \
 243  248          llseek.o                \
 244  249          lseek.o                 \
 245  250          mmapobjsys.o            \
 246  251          memcntl.o               \
 247  252          mincore.o               \
 248  253          mmap.o                  \
 249  254          modctl.o                \
 250  255          mount.o                 \
 251  256          mprotect.o              \
 252  257          munmap.o                \
 253  258          nice.o                  \
 254  259          ntp_adjtime.o           \
 255  260          ntp_gettime.o           \
 256  261          p_online.o              \
 257  262          pathconf.o              \
 258  263          pause.o                 \
 259  264          pcsample.o              \
 260  265          pipe2.o                 \
 261  266          pollsys.o               \
 262  267          pread.o                 \
 263  268          preadv.o                \
 264  269          priocntlset.o           \
 265  270          processor_bind.o        \
 266  271          processor_info.o        \
 267  272          profil.o                \
 268  273          putmsg.o                \
 269  274          putpmsg.o               \
 270  275          pwrite.o                \
 271  276          pwritev.o               \
 272  277          read.o                  \
 273  278          readv.o                 \
 274  279          resolvepath.o           \
 275  280          seteguid.o              \
 276  281          setgid.o                \
 277  282          setgroups.o             \
 278  283          setitimer.o             \
 279  284          setreid.o               \
 280  285          setrlimit.o             \
 281  286          setuid.o                \
 282  287          sigaltstk.o             \
 283  288          sigprocmsk.o            \
 284  289          sigsendset.o            \
 285  290          sigsuspend.o            \
 286  291          statfs.o                \
 287  292          statvfs.o               \
 288  293          stty.o                  \
 289  294          sync.o                  \
 290  295          sysconfig.o             \
 291  296          sysfs.o                 \
 292  297          sysinfo.o               \
 293  298          syslwp.o                \
 294  299          times.o                 \
 295  300          ulimit.o                \
 296  301          umask.o                 \
 297  302          umount2.o               \
  
    | 
      ↓ open down ↓ | 
    175 lines elided | 
    
      ↑ open up ↑ | 
  
 298  303          utssys.o                \
 299  304          uucopy.o                \
 300  305          vhangup.o               \
 301  306          waitid.o                \
 302  307          write.o                 \
 303  308          writev.o                \
 304  309          yield.o
 305  310  
 306  311  SYSOBJS=                        \
 307  312          __clock_gettime.o       \
      313 +        __clock_gettime_sys.o   \
 308  314          __getcontext.o          \
 309  315          __uadmin.o              \
 310  316          _lwp_mutex_unlock.o     \
 311  317          _stack_grow.o           \
 312  318          door.o                  \
 313  319          forkx.o                 \
 314  320          forkallx.o              \
 315  321          getcontext.o            \
 316  322          gettimeofday.o          \
 317  323          lwp_private.o           \
 318  324          nuname.o                \
 319  325          ptrace.o                \
 320  326          syscall.o               \
 321  327          sysi86.o                \
 322  328          tls_get_addr.o          \
 323  329          uadmin.o                \
 324  330          umount.o                \
 325  331          uname.o                 \
 326  332          vforkx.o                \
 327  333          xstat.o
 328  334  
 329  335  # objects under $(LIBCDIR)/port which contain transitional large file interfaces
 330  336  PORTGEN64=                      \
 331  337          _xftw64.o               \
 332  338          attropen64.o            \
 333  339          ftw64.o                 \
 334  340          mkstemp64.o             \
 335  341          nftw64.o                \
 336  342          tell64.o                \
 337  343          truncate64.o
 338  344  
 339  345  # objects from source under $(LIBCDIR)/port
 340  346  PORTFP=                         \
 341  347          __flt_decim.o           \
 342  348          __flt_rounds.o          \
 343  349          __tbl_10_b.o            \
 344  350          __tbl_10_h.o            \
 345  351          __tbl_10_s.o            \
 346  352          __tbl_2_b.o             \
 347  353          __tbl_2_h.o             \
 348  354          __tbl_2_s.o             \
 349  355          __tbl_fdq.o             \
 350  356          __tbl_tens.o            \
 351  357          __x_power.o             \
 352  358          _base_sup.o             \
 353  359          aconvert.o              \
 354  360          decimal_bin.o           \
 355  361          double_decim.o          \
 356  362          econvert.o              \
 357  363          fconvert.o              \
 358  364          file_decim.o            \
 359  365          finite.o                \
 360  366          fp_data.o               \
 361  367          func_decim.o            \
 362  368          gconvert.o              \
 363  369          hex_bin.o               \
 364  370          ieee_globals.o          \
 365  371          pack_float.o            \
 366  372          sigfpe.o                \
 367  373          string_decim.o
 368  374  
 369  375  PORTGEN=                        \
 370  376          _env_data.o             \
 371  377          _xftw.o                 \
 372  378          a64l.o                  \
 373  379          abort.o                 \
 374  380          addsev.o                \
 375  381          ascii_strcasecmp.o      \
 376  382          ascii_strncasecmp.o     \
 377  383          assert.o                \
 378  384          atof.o                  \
 379  385          atoi.o                  \
 380  386          atol.o                  \
 381  387          atoll.o                 \
 382  388          attrat.o                \
 383  389          attropen.o              \
 384  390          atexit.o                \
 385  391          atfork.o                \
 386  392          basename.o              \
 387  393          calloc.o                \
 388  394          catgets.o               \
 389  395          catopen.o               \
 390  396          cfgetispeed.o           \
 391  397          cfgetospeed.o           \
 392  398          cfree.o                 \
 393  399          cfsetispeed.o           \
 394  400          cfsetospeed.o           \
 395  401          cftime.o                \
 396  402          clock.o                 \
 397  403          closedir.o              \
 398  404          closefrom.o             \
 399  405          confstr.o               \
 400  406          crypt.o                 \
 401  407          csetlen.o               \
 402  408          ctime.o                 \
 403  409          ctime_r.o               \
 404  410          daemon.o                \
 405  411          deflt.o                 \
 406  412          directio.o              \
 407  413          dirname.o               \
 408  414          div.o                   \
 409  415          drand48.o               \
 410  416          dup.o                   \
 411  417          env_data.o              \
 412  418          err.o                   \
 413  419          errno.o                 \
 414  420          euclen.o                \
 415  421          event_port.o            \
 416  422          execvp.o                \
 417  423          explicit_bzero.o        \
 418  424          fattach.o               \
 419  425          fdetach.o               \
 420  426          fdopendir.o             \
 421  427          ffs.o                   \
 422  428          flock.o                 \
 423  429          fls.o                   \
 424  430          fmtmsg.o                \
 425  431          ftime.o                 \
 426  432          ftok.o                  \
 427  433          ftw.o                   \
 428  434          gcvt.o                  \
 429  435          getauxv.o               \
 430  436          getcwd.o                \
 431  437          getdate_err.o           \
 432  438          getdtblsize.o           \
 433  439          getentropy.o            \
 434  440          getenv.o                \
 435  441          getexecname.o           \
 436  442          getgrnam.o              \
 437  443          getgrnam_r.o            \
 438  444          gethostid.o             \
 439  445          gethostname.o           \
 440  446          gethz.o                 \
 441  447          getisax.o               \
 442  448          getloadavg.o            \
 443  449          getlogin.o              \
 444  450          getmntent.o             \
 445  451          getnetgrent.o           \
 446  452          get_nprocs.o            \
 447  453          getopt.o                \
 448  454          getopt_long.o           \
 449  455          getpagesize.o           \
 450  456          getpw.o                 \
 451  457          getpwnam.o              \
 452  458          getpwnam_r.o            \
 453  459          getrusage.o             \
 454  460          getspent.o              \
 455  461          getspent_r.o            \
 456  462          getsubopt.o             \
 457  463          gettxt.o                \
 458  464          getusershell.o          \
 459  465          getut.o                 \
 460  466          getutx.o                \
 461  467          getvfsent.o             \
 462  468          getwd.o                 \
 463  469          getwidth.o              \
 464  470          getxby_door.o           \
 465  471          gtxt.o                  \
 466  472          hsearch.o               \
 467  473          iconv.o                 \
 468  474          imaxabs.o               \
 469  475          imaxdiv.o               \
 470  476          index.o                 \
 471  477          initgroups.o            \
 472  478          insque.o                \
 473  479          isaexec.o               \
 474  480          isastream.o             \
 475  481          isatty.o                \
 476  482          killpg.o                \
 477  483          klpdlib.o               \
 478  484          l64a.o                  \
 479  485          lckpwdf.o               \
 480  486          lconstants.o            \
 481  487          lexp10.o                \
 482  488          lfind.o                 \
 483  489          lfmt.o                  \
 484  490          lfmt_log.o              \
 485  491          llabs.o                 \
 486  492          lldiv.o                 \
 487  493          llog10.o                \
 488  494          lltostr.o               \
 489  495          localtime.o             \
 490  496          lsearch.o               \
 491  497          madvise.o               \
 492  498          malloc.o                \
 493  499          memalign.o              \
 494  500          memmem.o                \
 495  501          mkdev.o                 \
 496  502          mkdtemp.o               \
 497  503          mkfifo.o                \
 498  504          mkstemp.o               \
 499  505          mktemp.o                \
 500  506          mlock.o                 \
 501  507          mlockall.o              \
 502  508          mon.o                   \
 503  509          msync.o                 \
 504  510          munlock.o               \
 505  511          munlockall.o            \
 506  512          ndbm.o                  \
 507  513          nftw.o                  \
 508  514          nlspath_checks.o        \
 509  515          nsparse.o               \
 510  516          nss_common.o            \
 511  517          nss_dbdefs.o            \
 512  518          nss_deffinder.o         \
 513  519          opendir.o               \
 514  520          opt_data.o              \
 515  521          perror.o                \
 516  522          pfmt.o                  \
 517  523          pfmt_data.o             \
 518  524          pfmt_print.o            \
 519  525          pipe.o                  \
 520  526          plock.o                 \
 521  527          poll.o                  \
 522  528          posix_fadvise.o         \
 523  529          posix_fallocate.o       \
 524  530          posix_madvise.o         \
 525  531          posix_memalign.o        \
 526  532          priocntl.o              \
 527  533          privlib.o               \
 528  534          priv_str_xlate.o        \
 529  535          psiginfo.o              \
 530  536          psignal.o               \
 531  537          pt.o                    \
 532  538          putpwent.o              \
 533  539          putspent.o              \
 534  540          raise.o                 \
 535  541          rand.o                  \
 536  542          random.o                \
 537  543          rctlops.o               \
 538  544          readdir.o               \
 539  545          readdir_r.o             \
 540  546          realpath.o              \
 541  547          reboot.o                \
 542  548          regexpr.o               \
 543  549          remove.o                \
 544  550          rewinddir.o             \
 545  551          rindex.o                \
 546  552          scandir.o               \
 547  553          seekdir.o               \
 548  554          select.o                \
 549  555          select_large_fdset.o    \
 550  556          setlabel.o              \
 551  557          setpriority.o           \
 552  558          settimeofday.o          \
 553  559          sh_locks.o              \
 554  560          sigflag.o               \
 555  561          siglist.o               \
 556  562          sigsend.o               \
 557  563          sigsetops.o             \
 558  564          ssignal.o               \
 559  565          stack.o                 \
 560  566          stpcpy.o                \
 561  567          stpncpy.o               \
 562  568          str2sig.o               \
 563  569          strcase_charmap.o       \
 564  570          strchrnul.o             \
 565  571          strcspn.o               \
 566  572          strdup.o                \
 567  573          strerror.o              \
 568  574          strlcat.o               \
 569  575          strlcpy.o               \
 570  576          strndup.o               \
 571  577          strpbrk.o               \
 572  578          strsep.o                \
 573  579          strsignal.o             \
 574  580          strspn.o                \
 575  581          strstr.o                \
 576  582          strtod.o                \
 577  583          strtoimax.o             \
 578  584          strtok.o                \
 579  585          strtok_r.o              \
 580  586          strtoumax.o             \
 581  587          swab.o                  \
 582  588          swapctl.o               \
 583  589          sysconf.o               \
 584  590          syslog.o                \
 585  591          tcdrain.o               \
 586  592          tcflow.o                \
 587  593          tcflush.o               \
 588  594          tcgetattr.o             \
 589  595          tcgetpgrp.o             \
 590  596          tcgetsid.o              \
 591  597          tcsendbreak.o           \
 592  598          tcsetattr.o             \
 593  599          tcsetpgrp.o             \
 594  600          tell.o                  \
 595  601          telldir.o               \
 596  602          tfind.o                 \
 597  603          time_data.o             \
 598  604          time_gdata.o            \
 599  605          timespec_get.o          \
 600  606          tls_data.o              \
 601  607          truncate.o              \
 602  608          tsdalloc.o              \
 603  609          tsearch.o               \
 604  610          ttyname.o               \
 605  611          ttyslot.o               \
 606  612          ualarm.o                \
 607  613          ucred.o                 \
 608  614          valloc.o                \
 609  615          vlfmt.o                 \
 610  616          vpfmt.o                 \
 611  617          waitpid.o               \
 612  618          walkstack.o             \
 613  619          wdata.o                 \
 614  620          xgetwidth.o             \
 615  621          xpg4.o                  \
 616  622          xpg6.o
 617  623  
 618  624  PORTPRINT_W=                    \
 619  625          doprnt_w.o
 620  626  
 621  627  PORTPRINT=                      \
 622  628          asprintf.o              \
 623  629          doprnt.o                \
 624  630          fprintf.o               \
 625  631          printf.o                \
 626  632          snprintf.o              \
 627  633          sprintf.o               \
 628  634          vfprintf.o              \
 629  635          vprintf.o               \
 630  636          vsnprintf.o             \
 631  637          vsprintf.o              \
 632  638          vwprintf.o              \
 633  639          wprintf.o
 634  640  
 635  641  # c89 variants to support 32-bit size of c89 u/intmax_t (32-bit libc only)
 636  642  PORTPRINT_C89=                  \
 637  643          vfprintf_c89.o          \
 638  644          vprintf_c89.o           \
 639  645          vsnprintf_c89.o         \
 640  646          vsprintf_c89.o          \
 641  647          vwprintf_c89.o
 642  648  
 643  649  PORTSTDIO_C89=                  \
 644  650          vscanf_c89.o            \
 645  651          vwscanf_c89.o           \
 646  652  
 647  653  # portable stdio objects that contain large file interfaces.
 648  654  # Note: fopen64 is a special case, as we build it small.
 649  655  PORTSTDIO64=                    \
 650  656          fopen64.o               \
 651  657          fpos64.o
 652  658  
 653  659  PORTSTDIO_W=                    \
 654  660          doscan_w.o
 655  661  
 656  662  PORTSTDIO=                      \
 657  663          __extensions.o          \
 658  664          _endopen.o              \
 659  665          _filbuf.o               \
 660  666          _findbuf.o              \
 661  667          _flsbuf.o               \
 662  668          _wrtchk.o               \
 663  669          clearerr.o              \
 664  670          ctermid.o               \
 665  671          ctermid_r.o             \
 666  672          cuserid.o               \
 667  673          data.o                  \
 668  674          doscan.o                \
 669  675          fdopen.o                \
 670  676          feof.o                  \
 671  677          ferror.o                \
 672  678          fgetc.o                 \
 673  679          fgets.o                 \
 674  680          fileno.o                \
 675  681          flockf.o                \
 676  682          flush.o                 \
 677  683          fopen.o                 \
 678  684          fpos.o                  \
 679  685          fputc.o                 \
 680  686          fputs.o                 \
 681  687          fread.o                 \
 682  688          fseek.o                 \
 683  689          fseeko.o                \
 684  690          ftell.o                 \
 685  691          ftello.o                \
 686  692          fwrite.o                \
 687  693          getc.o                  \
 688  694          getchar.o               \
 689  695          getline.o               \
 690  696          getpass.o               \
 691  697          gets.o                  \
 692  698          getw.o                  \
 693  699          mse.o                   \
 694  700          popen.o                 \
 695  701          putc.o                  \
 696  702          putchar.o               \
 697  703          puts.o                  \
 698  704          putw.o                  \
 699  705          rewind.o                \
 700  706          scanf.o                 \
 701  707          setbuf.o                \
 702  708          setbuffer.o             \
 703  709          setvbuf.o               \
 704  710          system.o                \
 705  711          tempnam.o               \
 706  712          tmpfile.o               \
 707  713          tmpnam_r.o              \
 708  714          ungetc.o                \
 709  715          vscanf.o                \
 710  716          vwscanf.o               \
 711  717          wscanf.o
 712  718  
 713  719  PORTI18N=                       \
 714  720          getwchar.o              \
 715  721          putwchar.o              \
 716  722          putws.o                 \
 717  723          strtows.o               \
 718  724          wcsnlen.o               \
 719  725          wcsstr.o                \
 720  726          wcstoimax.o             \
 721  727          wcstol.o                \
 722  728          wcstoul.o               \
 723  729          wcswcs.o                \
 724  730          wmemchr.o               \
 725  731          wmemcmp.o               \
 726  732          wmemcpy.o               \
 727  733          wmemmove.o              \
 728  734          wmemset.o               \
 729  735          wscat.o                 \
 730  736          wschr.o                 \
 731  737          wscmp.o                 \
 732  738          wscpy.o                 \
 733  739          wscspn.o                \
 734  740          wsdup.o                 \
 735  741          wslen.o                 \
 736  742          wsncat.o                \
 737  743          wsncmp.o                \
 738  744          wsncpy.o                \
 739  745          wspbrk.o                \
 740  746          wsprintf.o              \
 741  747          wsrchr.o                \
 742  748          wsscanf.o               \
 743  749          wsspn.o                 \
 744  750          wstod.o                 \
 745  751          wstok.o                 \
 746  752          wstol.o                 \
 747  753          wstoll.o                \
 748  754          wsxfrm.o                \
 749  755          gettext.o               \
 750  756          gettext_gnu.o           \
 751  757          gettext_real.o          \
 752  758          gettext_util.o          \
 753  759          plural_parser.o         \
 754  760          wdresolve.o             \
 755  761          _ctype.o                \
 756  762          isascii.o               \
 757  763          toascii.o
 758  764  
 759  765  PORTI18N_COND=                  \
 760  766          wcstol_longlong.o       \
 761  767          wcstoul_longlong.o
 762  768  
 763  769  PORTLOCALE=                     \
 764  770          big5.o                  \
 765  771          btowc.o                 \
 766  772          collate.o               \
 767  773          collcmp.o               \
 768  774          euc.o                   \
 769  775          fnmatch.o               \
 770  776          fgetwc.o                \
 771  777          fgetws.o                \
 772  778          fix_grouping.o          \
 773  779          fputwc.o                \
 774  780          fputws.o                \
 775  781          fwide.o                 \
 776  782          gb18030.o               \
 777  783          gb2312.o                \
 778  784          gbk.o                   \
 779  785          getdate.o               \
 780  786          isdigit.o               \
 781  787          iswctype.o              \
 782  788          ldpart.o                \
 783  789          lmessages.o             \
 784  790          lnumeric.o              \
 785  791          lmonetary.o             \
 786  792          localeconv.o            \
 787  793          localeimpl.o            \
 788  794          mbftowc.o               \
 789  795          mblen.o                 \
 790  796          mbrlen.o                \
 791  797          mbrtowc.o               \
 792  798          mbsinit.o               \
 793  799          mbsnrtowcs.o            \
 794  800          mbsrtowcs.o             \
 795  801          mbstowcs.o              \
 796  802          mbtowc.o                \
 797  803          mskanji.o               \
 798  804          nextwctype.o            \
 799  805          nl_langinfo.o           \
 800  806          none.o                  \
 801  807          regcomp.o               \
 802  808          regfree.o               \
 803  809          regerror.o              \
 804  810          regexec.o               \
 805  811          rune.o                  \
 806  812          runetype.o              \
 807  813          setlocale.o             \
 808  814          setrunelocale.o         \
 809  815          strcasecmp.o            \
 810  816          strcasestr.o            \
 811  817          strcoll.o               \
 812  818          strfmon.o               \
 813  819          strftime.o              \
 814  820          strncasecmp.o           \
 815  821          strptime.o              \
 816  822          strxfrm.o               \
 817  823          table.o                 \
 818  824          timelocal.o             \
 819  825          tolower.o               \
 820  826          towlower.o              \
 821  827          ungetwc.o               \
 822  828          utf8.o                  \
 823  829          wcrtomb.o               \
 824  830          wcscasecmp.o            \
 825  831          wcscoll.o               \
 826  832          wcsftime.o              \
 827  833          wcsnrtombs.o            \
 828  834          wcsrtombs.o             \
 829  835          wcswidth.o              \
 830  836          wcstombs.o              \
 831  837          wcsxfrm.o               \
 832  838          wctob.o                 \
 833  839          wctomb.o                \
 834  840          wctrans.o               \
 835  841          wctype.o                \
 836  842          wcwidth.o               \
 837  843          wscol.o
 838  844  
 839  845  AIOOBJS=                        \
 840  846          aio.o                   \
 841  847          aio_alloc.o             \
 842  848          posix_aio.o
 843  849  
 844  850  RTOBJS=                         \
 845  851          clock_timer.o           \
 846  852          mqueue.o                \
 847  853          pos4obj.o               \
 848  854          sched.o                 \
 849  855          sem.o                   \
 850  856          shm.o                   \
 851  857          sigev_thread.o
 852  858  
 853  859  TPOOLOBJS=                      \
 854  860          thread_pool.o
 855  861  
 856  862  THREADSOBJS=                    \
 857  863          alloc.o                 \
 858  864          assfail.o               \
 859  865          cancel.o                \
 860  866          c11_thr.o               \
 861  867          door_calls.o            \
 862  868          tmem.o                  \
 863  869          pthr_attr.o             \
 864  870          pthr_barrier.o          \
 865  871          pthr_cond.o             \
 866  872          pthr_mutex.o            \
 867  873          pthr_rwlock.o           \
 868  874          pthread.o               \
 869  875          rwlock.o                \
 870  876          scalls.o                \
 871  877          sema.o                  \
 872  878          sigaction.o             \
 873  879          spawn.o                 \
 874  880          synch.o                 \
 875  881          tdb_agent.o             \
 876  882          thr.o                   \
 877  883          thread_interface.o      \
 878  884          tls.o                   \
 879  885          tsd.o
 880  886  
 881  887  THREADSMACHOBJS=                \
 882  888          machdep.o
 883  889  
 884  890  THREADSASMOBJS=                 \
 885  891          asm_subr.o
 886  892  
 887  893  UNICODEOBJS=                    \
 888  894          u8_textprep.o           \
 889  895          uconv.o
 890  896  
 891  897  UNWINDMACHOBJS=                 \
 892  898          unwind.o
 893  899  
 894  900  UNWINDASMOBJS=                  \
 895  901          unwind_frame.o
 896  902  
 897  903  # objects that implement the transitional large file API
 898  904  PORTSYS64=                      \
 899  905          lockf64.o               \
 900  906          stat64.o
 901  907  
 902  908  PORTSYS=                        \
 903  909          _autofssys.o            \
 904  910          access.o                \
 905  911          acctctl.o               \
 906  912          bsd_signal.o            \
 907  913          chmod.o                 \
 908  914          chown.o                 \
  
    | 
      ↓ open down ↓ | 
    591 lines elided | 
    
      ↑ open up ↑ | 
  
 909  915          corectl.o               \
 910  916          epoll.o                 \
 911  917          eventfd.o               \
 912  918          exacctsys.o             \
 913  919          execl.o                 \
 914  920          execle.o                \
 915  921          execv.o                 \
 916  922          fcntl.o                 \
 917  923          getpagesizes.o          \
 918  924          getpeerucred.o          \
      925 +        inotify.o               \
 919  926          inst_sync.o             \
 920  927          issetugid.o             \
 921  928          label.o                 \
 922  929          link.o                  \
 923  930          lockf.o                 \
 924  931          lwp.o                   \
 925  932          lwp_cond.o              \
 926  933          lwp_rwlock.o            \
 927  934          lwp_sigmask.o           \
 928  935          meminfosys.o            \
 929  936          mkdir.o                 \
 930  937          mknod.o                 \
 931  938          msgsys.o                \
 932  939          nfssys.o                \
 933  940          open.o                  \
 934  941          pgrpsys.o               \
 935  942          posix_sigwait.o         \
 936  943          ppriv.o                 \
 937  944          psetsys.o               \
 938  945          rctlsys.o               \
 939  946          readlink.o              \
 940  947          rename.o                \
 941  948          sbrk.o                  \
 942  949          semsys.o                \
 943  950          set_errno.o             \
 944  951          sharefs.o               \
 945  952          shmsys.o                \
 946  953          sidsys.o                \
 947  954          siginterrupt.o          \
 948  955          signal.o                \
 949  956          signalfd.o              \
 950  957          sigpending.o            \
 951  958          sigstack.o              \
 952  959          stat.o                  \
 953  960          symlink.o               \
 954  961          tasksys.o               \
 955  962          time.o                  \
 956  963          time_util.o             \
 957  964          timerfd.o               \
 958  965          ucontext.o              \
 959  966          unlink.o                \
 960  967          ustat.o                 \
 961  968          utimesys.o              \
 962  969          zone.o
 963  970  
 964  971  PORTREGEX=                      \
 965  972          glob.o                  \
 966  973          regcmp.o                \
 967  974          regex.o                 \
 968  975          wordexp.o
 969  976  
 970  977  PORTREGEX64=                    \
 971  978          glob64.o
 972  979  
 973  980  MOSTOBJS=                       \
 974  981          $(STRETS)               \
 975  982          $(CRTOBJS)              \
 976  983          $(DYNOBJS)              \
 977  984          $(FPOBJS)               \
 978  985          $(FPASMOBJS)            \
 979  986          $(ATOMICOBJS)           \
 980  987          $(CHACHAOBJS)           \
 981  988          $(XATTROBJS)            \
 982  989          $(COMOBJS)              \
 983  990          $(DTRACEOBJS)           \
 984  991          $(GENOBJS)              \
 985  992          $(PORTFP)               \
 986  993          $(PORTGEN)              \
 987  994          $(PORTGEN64)            \
 988  995          $(PORTI18N)             \
 989  996          $(PORTI18N_COND)        \
 990  997          $(PORTLOCALE)           \
 991  998          $(PORTPRINT)            \
 992  999          $(PORTPRINT_C89)        \
 993 1000          $(PORTPRINT_W)          \
 994 1001          $(PORTREGEX)            \
 995 1002          $(PORTREGEX64)          \
 996 1003          $(PORTSTDIO)            \
 997 1004          $(PORTSTDIO64)          \
 998 1005          $(PORTSTDIO_C89)        \
 999 1006          $(PORTSTDIO_W)          \
1000 1007          $(PORTSYS)              \
1001 1008          $(PORTSYS64)            \
1002 1009          $(AIOOBJS)              \
1003 1010          $(RTOBJS)               \
1004 1011          $(TPOOLOBJS)            \
1005 1012          $(THREADSOBJS)          \
1006 1013          $(THREADSMACHOBJS)      \
1007 1014          $(THREADSASMOBJS)       \
1008 1015          $(UNICODEOBJS)          \
1009 1016          $(UNWINDMACHOBJS)       \
1010 1017          $(UNWINDASMOBJS)        \
1011 1018          $(COMSYSOBJS)           \
1012 1019          $(SYSOBJS)              \
1013 1020          $(COMSYSOBJS64)         \
1014 1021          $(SYSOBJS64)            \
1015 1022          $(VALUES)
1016 1023  
1017 1024  TRACEOBJS=                      \
1018 1025          plockstat.o
1019 1026  
1020 1027  # NOTE: libc.so.1 must be linked with the minimal crti.o and crtn.o
1021 1028  # modules whose source is provided in the $(SRC)/lib/common directory.
1022 1029  # This must be done because otherwise the Sun C compiler would insert
1023 1030  # its own versions of these modules and those versions contain code
1024 1031  # to call out to C++ initialization functions.  Such C++ initialization
1025 1032  # functions can call back into libc before thread initialization is
1026 1033  # complete and this leads to segmentation violations and other problems.
1027 1034  # Since libc contains no C++ code, linking with the minimal crti.o and
1028 1035  # crtn.o modules is safe and avoids the problems described above.
1029 1036  OBJECTS= $(CRTI) $(MOSTOBJS) $(CRTN)
1030 1037  CRTSRCS= ../../common/i386
1031 1038  
1032 1039  LDPASS_OFF=     $(POUND_SIGN)
1033 1040  
1034 1041  # include common library definitions
1035 1042  include ../../Makefile.lib
1036 1043  
1037 1044  # we need to override the default SONAME here because we might
1038 1045  # be building a variant object (still libc.so.1, but different filename)
1039 1046  SONAME = libc.so.1
1040 1047  
1041 1048  CFLAGS += $(CCVERBOSE) $(CTF_FLAGS)
1042 1049  
1043 1050  # This is necessary to avoid problems with calling _ex_unwind().
1044 1051  # We probably don't want any inlining anyway.
1045 1052  XINLINE = -xinline=
1046 1053  CFLAGS += $(XINLINE)
1047 1054  
1048 1055  CERRWARN += -_gcc=-Wno-parentheses
1049 1056  CERRWARN += -_gcc=-Wno-switch
1050 1057  CERRWARN += -_gcc=-Wno-uninitialized
1051 1058  CERRWARN += -_gcc=-Wno-unused-value
1052 1059  CERRWARN += -_gcc=-Wno-unused-label
1053 1060  CERRWARN += -_gcc=-Wno-unused-variable
1054 1061  CERRWARN += -_gcc=-Wno-type-limits
1055 1062  CERRWARN += -_gcc=-Wno-char-subscripts
1056 1063  CERRWARN += -_gcc=-Wno-clobbered
1057 1064  CERRWARN += -_gcc=-Wno-unused-function
1058 1065  CERRWARN += -_gcc=-Wno-address
1059 1066  
1060 1067  # Setting THREAD_DEBUG = -DTHREAD_DEBUG (make THREAD_DEBUG=-DTHREAD_DEBUG ...)
1061 1068  # enables ASSERT() checking in the threads portion of the library.
1062 1069  # This is automatically enabled for DEBUG builds, not for non-debug builds.
1063 1070  THREAD_DEBUG =
1064 1071  $(NOT_RELEASE_BUILD)THREAD_DEBUG = -DTHREAD_DEBUG
1065 1072  
1066 1073  # Make string literals read-only to save memory.
1067 1074  CFLAGS += $(XSTRCONST)
1068 1075  
1069 1076  ALTPICS= $(TRACEOBJS:%=pics/%)
1070 1077  
1071 1078  $(DYNLIB) := BUILD.SO = $(LD) -o $@ -G $(DYNFLAGS) $(PICS) $(ALTPICS) \
1072 1079                  $(EXTPICS) $(LDLIBS)
1073 1080  
1074 1081  MAPFILES =      $(LIBCDIR)/port/mapfile-vers
1075 1082  
1076 1083  #
1077 1084  # EXTN_CPPFLAGS and EXTN_CFLAGS set in enclosing Makefile
1078 1085  #
1079 1086  CFLAGS +=       $(EXTN_CFLAGS)
1080 1087  CPPFLAGS=       -D_REENTRANT -Di386 $(EXTN_CPPFLAGS) $(THREAD_DEBUG) \
1081 1088                  -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc $(CPPFLAGS.master)
1082 1089  ASFLAGS=        $(AS_PICFLAGS) -P -D__STDC__ -D_ASM $(CPPFLAGS) $(i386_AS_XARCH)
1083 1090  
1084 1091  # As a favor to the dtrace syscall provider, libc still calls the
1085 1092  # old syscall traps that have been obsoleted by the *at() interfaces.
1086 1093  # Delete this to compile libc using only the new *at() system call traps
1087 1094  CPPFLAGS += -D_RETAIN_OLD_SYSCALLS
1088 1095  
1089 1096  # Inform the run-time linker about libc specialized initialization
1090 1097  RTLDINFO =      -z rtldinfo=tls_rtldinfo
1091 1098  DYNFLAGS +=     $(RTLDINFO)
1092 1099  
1093 1100  # Force libc's internal references to be resolved immediately upon loading
1094 1101  # in order to avoid critical region problems.  Since almost all libc symbols
1095 1102  # are marked 'protected' in the mapfiles, this is a minimal set (15 to 20).
1096 1103  DYNFLAGS +=     -znow
1097 1104  
1098 1105  DYNFLAGS +=     -e __rtboot
1099 1106  DYNFLAGS +=     $(EXTN_DYNFLAGS)
1100 1107  
1101 1108  # Inform the kernel about the initial DTrace area (in case
1102 1109  # libc is being used as the interpreter / runtime linker).
1103 1110  DTRACE_DATA =   -zdtrace=dtrace_data
1104 1111  DYNFLAGS +=     $(DTRACE_DATA)
1105 1112  
1106 1113  # DTrace needs an executable data segment.
1107 1114  MAPFILE.NED=
1108 1115  
1109 1116  BUILD.s=        $(AS) $(ASFLAGS) $< -o $@
1110 1117  
1111 1118  # Override this top level flag so the compiler builds in its native
1112 1119  # C99 mode.  This has been enabled to support the complex arithmetic
  
    | 
      ↓ open down ↓ | 
    184 lines elided | 
    
      ↑ open up ↑ | 
  
1113 1120  # added to libc.
1114 1121  C99MODE=        $(C99_ENABLE)
1115 1122  
1116 1123  # libc method of building an archive
1117 1124  # The "$(GREP) -v ' L '" part is necessary only until
1118 1125  # lorder is fixed to ignore thread-local variables.
1119 1126  BUILD.AR= $(RM) $@ ; \
1120 1127          $(AR) q $@ `$(LORDER) $(MOSTOBJS:%=$(DIR)/%) | $(GREP) -v ' L ' | $(TSORT)`
1121 1128  
1122 1129  # extra files for the clean target
1123      -CLEANFILES=                     \
     1130 +CLEANFILES+=                    \
1124 1131          $(LIBCDIR)/port/gen/errlst.c    \
1125 1132          $(LIBCDIR)/port/gen/new_list.c  \
1126 1133          assym.h                 \
1127 1134          genassym                \
1128 1135          crt/_rtld.s             \
1129 1136          crt/_rtbootld.s         \
1130 1137          pics/_rtbootld.o        \
1131 1138          pics/crti.o             \
1132 1139          pics/crtn.o             \
1133 1140          $(ALTPICS)
1134 1141  
1135 1142  CLOBBERFILES += $(LIB_PIC)
1136 1143  
1137 1144  # list of C source for lint
1138 1145  SRCS=                                                   \
1139 1146          $(ATOMICOBJS:%.o=$(SRC)/common/atomic/%.c)      \
1140 1147          $(XATTROBJS:%.o=$(SRC)/common/xattr/%.c)        \
1141 1148          $(COMOBJS:%.o=$(SRC)/common/util/%.c)           \
1142 1149          $(DTRACEOBJS:%.o=$(SRC)/common/dtrace/%.c)      \
1143 1150          $(PORTFP:%.o=$(LIBCDIR)/port/fp/%.c)                    \
1144 1151          $(PORTGEN:%.o=$(LIBCDIR)/port/gen/%.c)                  \
1145 1152          $(PORTI18N:%.o=$(LIBCDIR)/port/i18n/%.c)                \
1146 1153          $(PORTLOCALE:%.o=$(LIBCDIR)/port/locale/%.c)            \
1147 1154          $(PORTPRINT:%.o=$(LIBCDIR)/port/print/%.c)              \
1148 1155          $(PORTREGEX:%.o=$(LIBCDIR)/port/regex/%.c)              \
1149 1156          $(PORTSTDIO:%.o=$(LIBCDIR)/port/stdio/%.c)              \
1150 1157          $(PORTSYS:%.o=$(LIBCDIR)/port/sys/%.c)                  \
1151 1158          $(AIOOBJS:%.o=$(LIBCDIR)/port/aio/%.c)                  \
1152 1159          $(RTOBJS:%.o=$(LIBCDIR)/port/rt/%.c)                    \
1153 1160          $(TPOOLOBJS:%.o=$(LIBCDIR)/port/tpool/%.c)              \
1154 1161          $(THREADSOBJS:%.o=$(LIBCDIR)/port/threads/%.c)          \
1155 1162          $(THREADSMACHOBJS:%.o=$(LIBCDIR)/$(MACH)/threads/%.c)   \
1156 1163          $(UNICODEOBJS:%.o=$(SRC)/common/unicode/%.c)    \
1157 1164          $(UNWINDMACHOBJS:%.o=$(LIBCDIR)/port/unwind/%.c)        \
1158 1165          $(FPOBJS:%.o=$(LIBCDIR)/$(MACH)/fp/%.c)                 \
1159 1166          $(LIBCBASE)/gen/ecvt.c                          \
1160 1167          $(LIBCBASE)/gen/makectxt.c                      \
1161 1168          $(LIBCBASE)/gen/siginfolst.c                    \
1162 1169          $(LIBCBASE)/gen/siglongjmp.c                    \
1163 1170          $(LIBCBASE)/gen/strcmp.c                        \
1164 1171          $(LIBCBASE)/gen/sync_instruction_memory.c       \
1165 1172          $(LIBCBASE)/sys/ptrace.c                        \
1166 1173          $(LIBCBASE)/sys/uadmin.c
1167 1174  
1168 1175  # conditional assignments
1169 1176  $(DYNLIB) := CRTI = crti.o
1170 1177  $(DYNLIB) := CRTN = crtn.o
1171 1178  
1172 1179  # Files which need the threads .il inline template
1173 1180  TIL=                            \
1174 1181          aio.o                   \
1175 1182          alloc.o                 \
1176 1183          assfail.o               \
1177 1184          atexit.o                \
1178 1185          atfork.o                \
1179 1186          cancel.o                \
1180 1187          door_calls.o            \
1181 1188          err.o                   \
1182 1189          errno.o                 \
1183 1190          lwp.o                   \
1184 1191          ma.o                    \
1185 1192          machdep.o               \
1186 1193          posix_aio.o             \
1187 1194          pthr_attr.o             \
1188 1195          pthr_barrier.o          \
1189 1196          pthr_cond.o             \
1190 1197          pthr_mutex.o            \
1191 1198          pthr_rwlock.o           \
1192 1199          pthread.o               \
1193 1200          rand.o                  \
1194 1201          rwlock.o                \
1195 1202          scalls.o                \
1196 1203          sched.o                 \
1197 1204          sema.o                  \
1198 1205          sigaction.o             \
1199 1206          sigev_thread.o          \
1200 1207          spawn.o                 \
1201 1208          stack.o                 \
1202 1209          synch.o                 \
1203 1210          tdb_agent.o             \
1204 1211          thr.o                   \
1205 1212          thread_interface.o      \
1206 1213          thread_pool.o           \
1207 1214          tls.o                   \
1208 1215          tsd.o                   \
1209 1216          tmem.o                  \
1210 1217          unwind.o
1211 1218  
1212 1219  THREADS_INLINES = $(LIBCBASE)/threads/i386.il
1213 1220  $(TIL:%=pics/%) := CFLAGS += $(THREADS_INLINES)
1214 1221  
1215 1222  # pics/mul64.o := CFLAGS += $(LIBCBASE)/crt/mul64.il
1216 1223  
1217 1224  # large-file-aware components that should be built large
1218 1225  
1219 1226  $(COMSYSOBJS64:%=pics/%) := \
1220 1227          CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1221 1228  
1222 1229  $(SYSOBJS64:%=pics/%) := \
1223 1230          CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1224 1231  
1225 1232  $(PORTGEN64:%=pics/%) := \
1226 1233          CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1227 1234  
1228 1235  $(PORTREGEX64:%=pics/%) := \
1229 1236          CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1230 1237  
1231 1238  $(PORTSTDIO64:%=pics/%) := \
1232 1239          CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1233 1240  
1234 1241  $(PORTSYS64:%=pics/%) := \
1235 1242          CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
1236 1243  
1237 1244  $(PORTSTDIO_W:%=pics/%) := \
1238 1245          CPPFLAGS += -D_WIDE
1239 1246  
1240 1247  $(PORTPRINT_W:%=pics/%) := \
1241 1248          CPPFLAGS += -D_WIDE
1242 1249  
1243 1250  $(PORTPRINT_C89:%=pics/%) := \
  
    | 
      ↓ open down ↓ | 
    110 lines elided | 
    
      ↑ open up ↑ | 
  
1244 1251          CPPFLAGS += -D_C89_INTMAX32
1245 1252  
1246 1253  $(PORTSTDIO_C89:%=pics/%) := \
1247 1254          CPPFLAGS += -D_C89_INTMAX32
1248 1255  
1249 1256  $(PORTI18N_COND:%=pics/%) := \
1250 1257          CPPFLAGS += -D_WCS_LONGLONG
1251 1258  
1252 1259  pics/arc4random.o :=    CPPFLAGS += -I$(SRC)/common/crypto/chacha
1253 1260  
     1261 +pics/__clock_gettime.o := CPPFLAGS += $(COMMPAGE_CPPFLAGS)
     1262 +
1254 1263  .KEEP_STATE:
1255 1264  
1256 1265  all: $(LIBS) $(LIB_PIC)
1257 1266  
1258 1267  lint    :=      CPPFLAGS += -I$(LIBCDIR)/$(MACH)/fp
1259 1268  lint    :=      CPPFLAGS += -D_MSE_INT_H -D_LCONV_C99
1260 1269  lint    :=      LINTFLAGS += -mn -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
1261 1270  
1262 1271  lint:
1263 1272          @echo $(LINT.c) ...
1264 1273          @$(LINT.c) $(SRCS) $(LDLIBS)
1265 1274  
1266 1275  $(LINTLIB):= SRCS=$(LIBCDIR)/port/llib-lc
1267 1276  $(LINTLIB):= CPPFLAGS += -D_MSE_INT_H
1268 1277  $(LINTLIB):= LINTFLAGS=-nvx
1269 1278  
1270 1279  # object files that depend on inline template
1271 1280  $(TIL:%=pics/%): $(LIBCBASE)/threads/i386.il
1272 1281  # pics/mul64.o: $(LIBCBASE)/crt/mul64.il
1273 1282  
1274 1283  # include common libc targets
1275 1284  include $(LIBCDIR)/Makefile.targ
1276 1285  
1277 1286  # We need to strip out all CTF and DOF data from the static library
1278 1287  $(LIB_PIC) := DIR = pics
1279 1288  $(LIB_PIC): pics $$(PICS)
1280 1289          $(BUILD.AR)
1281 1290          $(MCS) -d -n .SUNW_ctf $@ > /dev/null 2>&1
1282 1291          $(MCS) -d -n .SUNW_dof $@ > /dev/null 2>&1
1283 1292          $(AR) -ts $@ > /dev/null
1284 1293          $(POST_PROCESS_A)
1285 1294  
1286 1295  $(LIBCBASE)/crt/_rtbootld.s: $(LIBCBASE)/crt/_rtboot.s $(LIBCBASE)/crt/_rtld.c
1287 1296          $(CC) $(CPPFLAGS) $(CTF_FLAGS) -O -S $(C_PICFLAGS) \
1288 1297              $(LIBCBASE)/crt/_rtld.c -o $(LIBCBASE)/crt/_rtld.s
1289 1298          $(CAT) $(LIBCBASE)/crt/_rtboot.s $(LIBCBASE)/crt/_rtld.s > $@
1290 1299          $(RM) $(LIBCBASE)/crt/_rtld.s
1291 1300  
1292 1301  # partially built from C source
1293 1302  pics/_rtbootld.o: $(LIBCBASE)/crt/_rtbootld.s
1294 1303          $(AS) $(ASFLAGS) $(LIBCBASE)/crt/_rtbootld.s -o $@
1295 1304          $(CTFCONVERT_O)
1296 1305  
1297 1306  ASSYMDEP_OBJS=                  \
1298 1307          _lwp_mutex_unlock.o     \
1299 1308          _stack_grow.o           \
1300 1309          getcontext.o            \
1301 1310          setjmp.o                \
1302 1311          tls_get_addr.o          \
1303 1312          vforkx.o
1304 1313  
1305 1314  $(ASSYMDEP_OBJS:%=pics/%)       :=      CPPFLAGS += -I.
1306 1315  
1307 1316  $(ASSYMDEP_OBJS:%=pics/%): assym.h
1308 1317  
1309 1318  # assym.h build rules
1310 1319  
1311 1320  GENASSYM_C = $(LIBCDIR)/$(MACH)/genassym.c
1312 1321  
1313 1322  genassym: $(GENASSYM_C)
1314 1323          $(NATIVECC) $(NATIVE_CFLAGS) -I$(LIBCBASE)/inc -I$(LIBCDIR)/inc \
1315 1324                  -D__EXTENSIONS__ $(CPPFLAGS.native) -o $@ $(GENASSYM_C)
1316 1325  
1317 1326  OFFSETS = $(LIBCDIR)/$(MACH)/offsets.in
1318 1327  
1319 1328  assym.h: $(OFFSETS) genassym
1320 1329          $(OFFSETS_CREATE) <$(OFFSETS) >$@
1321 1330          ./genassym >>$@
1322 1331  
1323 1332  # derived C source and related explicit dependencies
1324 1333  $(LIBCDIR)/port/gen/errlst.c + \
1325 1334  $(LIBCDIR)/port/gen/new_list.c: $(LIBCDIR)/port/gen/errlist $(LIBCDIR)/port/gen/errlist.awk
1326 1335          cd $(LIBCDIR)/port/gen; pwd; $(AWK) -f errlist.awk < errlist
1327 1336  
1328 1337  pics/errlst.o: $(LIBCDIR)/port/gen/errlst.c
1329 1338  
1330 1339  pics/new_list.o: $(LIBCDIR)/port/gen/new_list.c
  
    | 
      ↓ open down ↓ | 
    67 lines elided | 
    
      ↑ open up ↑ | 
  
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX