[PATCH] Addition of new option '--rlib' in linker for Renesas SH targets

Pedro Alves pedro_alves@portugalmail.pt
Wed Jun 28 15:51:00 GMT 2006


Pedro Alves wrote:

> Gina Verlekar wrote:
>
>> Hi,
>>
>> The patch attached herewith adds a new option '--rlib' to the linker.
>> Using this
>> option, Linker links a Renesas SH library file (created by Renesas
>> Compiler)   
>> with GNU object files.
>> '--rlib' option is supported only for Renesas SH targets.
>>
>> The format of the option is:
>> --rlib=<filename >
>> where 'filename' is the Renesas SH library file to be linked.
>>
>> This patch converts the Renesas library file into a GNU archive with
>> name   
>> <filename>.rlib. This file is created in the same directory as the
>> Renesas   
>> library file. This created GNU archive is then passed to the Linker for
>> further   
>> processing. This option can be used multiple times to link multiple 
>> Renesas SH
>> library   
>> files.
>>
>>  
>>
> If the Renesas library is fully converted into a GNU archive, why 
> isn't this implimented as a
> separate tool? One that converts the libs only once, and be done with 
> it so the user can use -l
> normally. You could even integrate the tool into the build system, so 
> it would be transparent
> like your patches aims at being.

I took a quick look at the patch, and can't see anything that would 
prevent you
from splitting process_renesas_library_file into a seperate tool.
As I understand the patch, process_renesas_library_file function 
extracts the object files of the renesas lib,
and then you then call create_gnu_archive on the files mimicing what ar 
q does.

You could instead have (simplified):

rlibextract $(renesaslib) $(outputdir)
ar q librenlib.a $(outputdir)/*
ld $(objects) -lrenlib

rlibextract being your new tool.

It would reduce code duplication,
you would be able to maintain it with a different release cycle from 
binutils,
*and* it could be used with older binutils versions.

Wouldn't this be better? Or am I missing something?

Cheers,
Pedro Alves



More information about the Binutils mailing list