Hi Stephan, *,

On Wed, Mar 19, 2008 at 11:14:26AM +0100, Stephan Bergmann wrote:
> Christian Lohmaier wrote:
> 
> Older Mac OS X ld versions (like ld -v "Apple Computer, Inc. version 
> cctools-622.5.obj~13"; Tiger-era) seem to have a bug, that symbols from 
> archives are not taken into consideration when resolving symbol 
> references in objects later on the command line.
> [...] 
> As a workaround for the broken ld, it appears that -Wl,-all_load 
> anywhere on the command line fixes the problem, too.  (There should also 
> be -noall_load, and maybe wrapping -ludm and -lcosv in 
> -Wl,-all_load/-Wl,-noall_load would localize its effect, but at least my 
> ld complains that -noall_load is unknown...)  Thus,

Same here - it is listed in the gcc manpage, but fails nevertheless.
The ld manpage as installed on my system doesn't list it at all
http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/ld.1.html
reads: 
-noall_load
                 This is the default.  This option is obsolete.
> 
> ---8<---
> Index: source/exes/adc_uni/makefile.mk
> ===================================================================
> RCS file: /cvs/tools/autodoc/source/exes/adc_uni/makefile.mk,v
> retrieving revision 1.14
> diff -u -r1.14 makefile.mk
> --- source/exes/adc_uni/makefile.mk 1.14
> +++ source/exes/adc_uni/makefile.mk
> @@ -85,7 +85,7 @@
>  APP1STDLIBS= $(LIBSTLPORT) $(COSVLIB) $(UDMLIB)
>  .ELSE
>  .IF "$(OS)"=="MACOSX"
> -APP1STDLIBS= $(LIBSTLPORT) -ludm -lcosv
> +APP1STDLIBS= $(LIBSTLPORT) -Wl,-all_load -ludm -lcosv
>  .ELSE
>  APP1STDLIBS= -lcosv -ludm
>  .ENDIF
> ---8<---
> 
> should solve this.

It does. Thanks for the digging into it.

ciao
Christian

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to