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