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