Print this page
XXXX check_rtime should be able to forbid libraries
XXXX check_rtime needs to learn libnsl is safe now
XXXX check_rtime could use MACH() more thoroughly
XXXX check_rtime exceptions could be tidied up.

*** 94,103 **** --- 94,109 ---- # data segments. # # EXEC_STACK # Objects that are not required to have a non-executable stack # + # FORBIDDEN_DEP + # Objects allowed to link to 'forbidden' objects + # + # FORBIDDEN + # Objects to which nobody not excepted with FORBIDDEN_DEP may link + # # NOCRLEALT # Objects that should be skipped by AltObjectConfig() when building # the crle script that maps objects to the proto area. # # NODIRECT
*** 136,146 **** # UNUSED_RPATH # Objects with unused runpaths # use vars qw($EXRE_exec_data $EXRE_exec_stack $EXRE_nocrlealt); ! use vars qw($EXRE_nodirect $EXRE_nosymsort); use vars qw($EXRE_olddep $EXRE_skip $EXRE_stab $EXRE_textrel $EXRE_undef_ref); use vars qw($EXRE_unref_obj $EXRE_unused_deps $EXRE_unused_obj); use vars qw($EXRE_unused_rpath); use strict; --- 142,152 ---- # UNUSED_RPATH # Objects with unused runpaths # use vars qw($EXRE_exec_data $EXRE_exec_stack $EXRE_nocrlealt); ! use vars qw($EXRE_nodirect $EXRE_nosymsort $EXRE_forbidden_dep $EXRE_forbidden); use vars qw($EXRE_olddep $EXRE_skip $EXRE_stab $EXRE_textrel $EXRE_undef_ref); use vars qw($EXRE_unref_obj $EXRE_unused_deps $EXRE_unused_obj); use vars qw($EXRE_unused_rpath); use strict;
*** 441,450 **** --- 447,457 ---- } $Line =~ s/^[ \t]*(.*)/\t$1\t<remove search path?>/; onbld_elfmod::OutMsg($ErrFH, $ErrTtl, $RelPath, $Line); next; } + # Look for unreferenced dependencies. Note, if any unreferenced # objects are ignored, then set $UnDep so as to suppress any # associated unused-object messages. if ($Line =~ /unreferenced object=/) { if (defined($EXRE_unref_obj) &&
*** 575,585 **** my($Need) = (split(' ', $Line))[3]; if (defined($EXRE_olddep) && ($Need =~ $EXRE_olddep)) { # Catch any old (unnecessary) dependencies. onbld_elfmod::OutMsg($ErrFH, $ErrTtl, $RelPath, ! "NEEDED=$Need\t<dependency no longer necessary>"); } elsif ($opt{i}) { # Under the -i (information) option print out # any useful dynamic entries. onbld_elfmod::OutMsg($InfoFH, $InfoTtl, $RelPath, "NEEDED=$Need"); --- 582,602 ---- my($Need) = (split(' ', $Line))[3]; if (defined($EXRE_olddep) && ($Need =~ $EXRE_olddep)) { # Catch any old (unnecessary) dependencies. onbld_elfmod::OutMsg($ErrFH, $ErrTtl, $RelPath, ! "NEEDED=$Need\t<dependency no " . ! "longer necessary>"); ! } elsif (defined($EXRE_forbidden) && ! ($Need =~ $EXRE_forbidden)) { ! next if defined($EXRE_forbidden_dep) && ! ($FullPath =~ $EXRE_forbidden_dep); ! ! onbld_elfmod::OutMsg($ErrFH, $ErrTtl, $RelPath, ! "NEEDED=$Need\t<forbidden dependency, " . ! "missing -nodefaultlibs?>"); ! next; } elsif ($opt{i}) { # Under the -i (information) option print out # any useful dynamic entries. onbld_elfmod::OutMsg($InfoFH, $InfoTtl, $RelPath, "NEEDED=$Need");