Subject: bin/12103: ARM32 tools do not support weak symbols
To: None <>
From: Richard Earnshaw <>
List: netbsd-bugs
Date: 02/01/2001 14:39:49
>Number:         12103
>Category:       bin
>Synopsis:       ARM tools do not support weak symbols
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Feb 01 14:42:00 PST 2001
>Originator:     Richard Earnshaw
>Release:        NetBSD-current
System: NetBSD 1.5I NetBSD 1.5I (BUZZARD) #216: Sun Nov 19 21:24:48 GMT 2000 arm32

	The toolchain for ARM32 does not correctly support weak symbols.
	This is a critical issue for the new gcc-3.0 development which
	requires this behaviour for C++ RTTI and hence for exception throwing.


	Compile and link the following two C files.  The program should run
	without aborting.

char mystr[] __attribute__((weak)) = "hello";

extern char *getmystr();
main ()
  if (getmystr() != mystr)

  exit (0);

char mystr[] __attribute__((weak)) = "hello";

char *getmystr() { return mystr;}

	Not known.  It may be the assembler or the linker (or even both).