Subject: bin/409: ld.so with minor number warning is noisy
To: None <gnats-admin>
From: Jason R. Thorpe <thorpej@mail.CS.ORST.EDU>
List: netbsd-bugs
Date: 08/11/1994 15:35:10
>Number:         409
>Category:       bin
>Synopsis:       ld.so with minor number warning is noisy
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    gnats-admin (Utility Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Aug 11 15:35:06 1994
>Originator:     Jason R. Thorpe
>Organization:
	Department of Computer Science
	Oregon State University
>Release:        1.0_BETA (sup'd 8/10/94)
>Environment:
	
System: NetBSD santiam 1.0_BETA NetBSD 1.0_BETA (SANTIAM) #2: Mon Aug 8 23:20:19 PDT 1994 thorpej@nemesis:/usr/src/sys/arch/hp300/compile/SANTIAM hp300


>Description:
	When the change to ld.so was made to warn against using a
	minor number lower than link time, the way one suppresses
	warning about non pure code changed.  To hear about it before
	you did 'setenv LD_WARN_NON_PURE_CODE'.  That was wonderful.
	Now, to *stop* hearing about it, you 'setenv LD_SUPPRESS_WARNINGS'.
	Well, every cron job that has a dynamic executible now spits
	errors, etc.  Also, one might want to be warned against
	minor-number 'violations', yet not hear about non pure code.
	I feel that the old way of warning against non pure code
	is much friendlier, as it is quiet by default.

	Yes, the libraries are up to date :-)
>How-To-Repeat:
	Upgrade to new ld.so.
	unsetenv LD_SUPPRESS_WARNINGS
	run any dynamic executible.
>Fix:
	The following patch applies to version:
	$Id: rtld.c,v 1.21.2.1 1994/08/08 08:04:24 mycroft Exp $


*** rtld.c.dist	Thu Aug 11 10:50:20 1994
--- rtld.c	Thu Aug 11 10:56:54 1994
***************
*** 544,550 ****
  	else
  		sym = "";
  
! 	if (getenv("LD_SUPPRESS_WARNINGS") == NULL)
  		warnx("ld.so: warning: non pure code in %s at %x (%s)\n",
  				smp->som_path, r->r_address, sym);
  
--- 544,550 ----
  	else
  		sym = "";
  
! 	if (getenv("LD_WARN_NON_PURE_CODE") != NULL)
  		warnx("ld.so: warning: non pure code in %s at %x (%s)\n",
  				smp->som_path, r->r_address, sym);
  
>Audit-Trail:
>Unformatted:


------------------------------------------------------------------------------