diff options
author | Keith M Wesolowski <wesolows@foobazco.org> | 2013-04-03 22:06:11 +0000 |
---|---|---|
committer | Keith M Wesolowski <wesolows@foobazco.org> | 2013-04-03 22:11:48 +0000 |
commit | 47644c2a782d42cef6171070446352a68326cba5 (patch) | |
tree | 7f62d58c6876f471fecbe6c01c5b3b3704fabf7a /usr/src/cmd | |
parent | 600f674f095b115b06a857c84f6ac041040b0269 (diff) | |
parent | b075ad5b007248d50e4c2e838b460c9c7cfd9fad (diff) | |
download | illumos-joyent-release-20130404.tar.gz |
[illumos-gate merge]20130404release-20130404
commit b075ad5b007248d50e4c2e838b460c9c7cfd9fad
3665 Implement O_CLOEXEC as an open() flag
commit 3cc3202e63472d673bcac160bfb86d1865dd9fe7
918 Need better IP fanout (esp. with VLANs present)
commit a8c23f9d905fadb090654516236f546ef3f0a1b2
3638 ld confuses files with group sections and files that should lazy load
Conflicts:
usr/src/uts/common/io/mac/mac_sched.c
Diffstat (limited to 'usr/src/cmd')
-rw-r--r-- | usr/src/cmd/sgs/include/libld.h | 3 | ||||
-rw-r--r-- | usr/src/cmd/sgs/libld/common/files.c | 4 | ||||
-rw-r--r-- | usr/src/cmd/truss/codes.c | 5 |
3 files changed, 8 insertions, 4 deletions
diff --git a/usr/src/cmd/sgs/include/libld.h b/usr/src/cmd/sgs/include/libld.h index d0d4776220..ddb0fb2506 100644 --- a/usr/src/cmd/sgs/include/libld.h +++ b/usr/src/cmd/sgs/include/libld.h @@ -891,6 +891,7 @@ struct ifl_desc { /* input file descriptor */ /* symbol capabilities */ #define FLG_IF_DEFERRED 0x00080000 /* dependency is deferred */ #define FLG_IF_RTLDINF 0x00100000 /* dependency has DT_SUNW_RTLTINF set */ +#define FLG_IF_GROUPS 0x00200000 /* input file has groups to process */ /* * Symbol states that require the generation of a DT_POSFLAG_1 .dynamic entry. @@ -934,7 +935,7 @@ struct is_desc { /* input section descriptor */ #define FLG_IS_EXTERNAL 0x0040 /* isp from a user file */ #define FLG_IS_INSTRMRG 0x0080 /* Usable SHF_MERGE|SHF_STRINGS sec */ #define FLG_IS_GNSTRMRG 0x0100 /* Generated mergeable string section */ -#define FLG_IS_GROUPS 0x0200 /* section has groups to process */ + #define FLG_IS_PLACE 0x0400 /* section requires to be placed */ #define FLG_IS_COMDAT 0x0800 /* section is COMDAT */ #define FLG_IS_EHFRAME 0x1000 /* section is .eh_frame */ diff --git a/usr/src/cmd/sgs/libld/common/files.c b/usr/src/cmd/sgs/libld/common/files.c index c1e66ecfea..99e6e89f9d 100644 --- a/usr/src/cmd/sgs/libld/common/files.c +++ b/usr/src/cmd/sgs/libld/common/files.c @@ -2343,7 +2343,7 @@ process_group(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, * Indicate that this input file has groups to process. Groups are * processed after all input sections have been processed. */ - ifl->ifl_flags |= FLG_IS_GROUPS; + ifl->ifl_flags |= FLG_IF_GROUPS; return (1); } @@ -2807,7 +2807,7 @@ process_elf(Ifl_desc *ifl, Elf *elf, Ofl_desc *ofl) * of placement. In addition, COMDAT names may require transformation * to indicate different output section placement. */ - if (ifl->ifl_flags & FLG_IS_GROUPS) { + if (ifl->ifl_flags & FLG_IF_GROUPS) { for (ndx = 1; ndx < ifl->ifl_shnum; ndx++) { Is_desc *isp; diff --git a/usr/src/cmd/truss/codes.c b/usr/src/cmd/truss/codes.c index 4162c8b661..dcab90e5fa 100644 --- a/usr/src/cmd/truss/codes.c +++ b/usr/src/cmd/truss/codes.c @@ -24,6 +24,7 @@ * Copyright (c) 2012 by Delphix. All rights reserved. * Copyright 2011 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2012, Joyent, Inc. All rights reserved. + * Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ @@ -1918,7 +1919,7 @@ pathconfname(int code) #define ALL_O_FLAGS \ (O_NDELAY|O_APPEND|O_SYNC|O_DSYNC|O_NONBLOCK|O_CREAT|O_TRUNC\ |O_EXCL|O_NOCTTY|O_LARGEFILE|O_RSYNC|O_XATTR|O_NOFOLLOW|O_NOLINKS\ - |FXATTRDIROPEN) + |O_CLOEXEC|FXATTRDIROPEN) const char * openarg(private_t *pri, int arg) @@ -1976,6 +1977,8 @@ openarg(private_t *pri, int arg) (void) strlcat(str, "|O_NOFOLLOW", sizeof (pri->code_buf)); if (arg & O_NOLINKS) (void) strlcat(str, "|O_NOLINKS", sizeof (pri->code_buf)); + if (arg & O_CLOEXEC) + (void) strlcat(str, "|O_CLOEXEC", sizeof (pri->code_buf)); if (arg & FXATTRDIROPEN) (void) strlcat(str, "|FXATTRDIROPEN", sizeof (pri->code_buf)); |