Subject: port-arm32/7517: arm32 softfloat name space pollution
To: None <gnats-bugs@gnats.netbsd.org>
From: Klaus Klein <kleink@ira.uka.de>
List: netbsd-bugs
Date: 05/04/1999 08:51:02
>Number:         7517
>Category:       port-arm32
>Synopsis:       arm32 softfloat name space pollution
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-arm32-maintainer (NetBSD/arm32 Portmaster)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue May  4 08:50:01 1999
>Last-Modified:
>Originator:     Klaus Klein
>Organization:
Frobozz Magic Standards Company
>Release:        NetBSD 1.4A as of May 3, 1999
>Environment:
System: NetBSD rent-controlled-love-nest 1.4A NetBSD 1.4A (SHARK) #16: Fri Apr 16 23:38:52 CEST 1999 kleink@we-the-jury:/vol/tmp/kernels/SHARK arm32


>Description:
	Various identifiers defined by the arm32 softfloat package used in
	libc and defined with external linkage occupy application name space,
	which may yield the obvious clashes.

>How-To-Repeat:
	Run a piece of code like this, and watch it die.

	#include <stdlib.h>

	void float64_le(void);
	int main(int, char *[]);

	void float64_le()
	{

		abort();
	}

	int
	main(int argc, char *argv[])
	{
		double a = 1.0, b = 2.0;
	
		return (a <= b);
	}

>Fix:
	Remove external linkage where not required; move other identifier
	names into implementation name space (suggestion: add a `_arm32_'
	prefix).

>Audit-Trail:
>Unformatted: