Print this page
uts: Allow for address space randomisation.
Randomise the base addresses of shared objects, non-fixed mappings, the
stack and the heap.  Introduce a service, svc:/system/process-security,
and a tool psecflags(1) to control and observe it


1208                         case DT_SYMENT:
1209                         case DT_RELSZ:
1210                         case DT_RELENT:
1211                         case DT_PLTREL:
1212                         case DT_BIND_NOW:
1213                         case DT_CHECKSUM:
1214                         case DT_PLTPADSZ:
1215                         case DT_MOVEENT:
1216                         case DT_MOVESZ:
1217                         case DT_SYMINSZ:
1218                         case DT_SYMINENT:
1219                         case DT_VERNEEDNUM:
1220                         case DT_SPARC_REGISTER:
1221                         case DT_SUNW_SYMSZ:
1222                         case DT_SUNW_SORTENT:
1223                         case DT_SUNW_SYMSORTSZ:
1224                         case DT_SUNW_TLSSORTSZ:
1225                         case DT_SUNW_STRPAD:
1226                         case DT_SUNW_CAPCHAINENT:
1227                         case DT_SUNW_CAPCHAINSZ:

1228                                 (void) printf(pdyn_Fmtptr,
1229                                     EC_XWORD(p_dyn.d_un.d_val));
1230                                 break;
1231 
1232                         /*
1233                          * Integer items that are bitmasks, or which
1234                          * can be otherwise formatted in symbolic form.
1235                          */
1236                         case DT_FLAGS:
1237                         case DT_FEATURE_1:
1238                         case DT_POSFLAG_1:
1239                         case DT_FLAGS_1:
1240                         case DT_SUNW_LDMACH:
1241                                 str = NULL;
1242                                 if (v_flag) {
1243                                         switch (p_dyn.d_tag) {
1244                                         case DT_FLAGS:
1245                                                 str = conv_dyn_flag(
1246                                                     p_dyn.d_un.d_val,
1247                                                     DUMP_CONVFMT,




1208                         case DT_SYMENT:
1209                         case DT_RELSZ:
1210                         case DT_RELENT:
1211                         case DT_PLTREL:
1212                         case DT_BIND_NOW:
1213                         case DT_CHECKSUM:
1214                         case DT_PLTPADSZ:
1215                         case DT_MOVEENT:
1216                         case DT_MOVESZ:
1217                         case DT_SYMINSZ:
1218                         case DT_SYMINENT:
1219                         case DT_VERNEEDNUM:
1220                         case DT_SPARC_REGISTER:
1221                         case DT_SUNW_SYMSZ:
1222                         case DT_SUNW_SORTENT:
1223                         case DT_SUNW_SYMSORTSZ:
1224                         case DT_SUNW_TLSSORTSZ:
1225                         case DT_SUNW_STRPAD:
1226                         case DT_SUNW_CAPCHAINENT:
1227                         case DT_SUNW_CAPCHAINSZ:
1228                         case DT_SUNW_ASLR:
1229                                 (void) printf(pdyn_Fmtptr,
1230                                     EC_XWORD(p_dyn.d_un.d_val));
1231                                 break;
1232 
1233                         /*
1234                          * Integer items that are bitmasks, or which
1235                          * can be otherwise formatted in symbolic form.
1236                          */
1237                         case DT_FLAGS:
1238                         case DT_FEATURE_1:
1239                         case DT_POSFLAG_1:
1240                         case DT_FLAGS_1:
1241                         case DT_SUNW_LDMACH:
1242                                 str = NULL;
1243                                 if (v_flag) {
1244                                         switch (p_dyn.d_tag) {
1245                                         case DT_FLAGS:
1246                                                 str = conv_dyn_flag(
1247                                                     p_dyn.d_un.d_val,
1248                                                     DUMP_CONVFMT,