[PATCH] sparc64 libpthread

H . J . Lu hjl@lucon.org
Tue Apr 17 19:52:00 GMT 2001


On Wed, Apr 18, 2001 at 12:55:53AM +0200, Jakub Jelinek wrote:
> Hi!
> 
> sparc64-linux gcc's specs has /usr/lib64/crti.o hardcoded if -m64 is given,
> because the gcc driver would otherwise find the 32bit crti.o.
> Changing this in gcc would require probably prescanning of certain options
> in the driver before normal option processing because it would have to
> differentiate paths added to various search paths, so IMHO it is easier to
> do this in glibc.

I ran into it more than 2 years ago. I started working on ld first:

Wed Sep 16 07:32:44 1998  H.J. Lu  (hjl@gnu.org)

	* ld.h (args_type): Add one field, multilib_dir.

	* ldfile.c (ldfile_add_library_path): Add one argument, append.
	* ldfile.h (ldfile_add_library_path): Likewise.

	* ldgram.y: Calling ldfile_add_library_path with one more
	argument, true.
	* ldmain.c: Likewise.
	* lexsup.c: Likewise.

	* ldmain.c (check_for_scripts_dir): Add one argument, append.
	(main): Initialize command_line.multilib_dir to NULL.
	(set_scripts_dir): If command_line.multilib_dir is not NULL,
	prepend it to search path.

	* lexsup.c (OPTION_MULTILIB_DIR): New.
	(parse_args): Handle OPTION_MULTILIB_DIR.

	* emultempl/elf32.em (gld${EMULATION_NAME}_get_script): If
	command_line.multilib_dir != NULL, get linker scripts from
	files.

The idea is you can tell ld with "ld --multilib-dir path". ld will
search path for the needed files. But I didn't have time to change
the gcc driver for crt*.o.


H.J.



More information about the Libc-hacker mailing list