How to add a new target in binutils ?

Shawn shaolin.xie@ia.ac.cn
Mon Sep 24 02:58:00 GMT 2012


Thanks , Ian,  I  will try what you have suggested.

On 2012年09月21日 21:12, Ian Lance Taylor wrote:
> On Fri, Sep 21, 2012 at 12:26 AM, Shawn <shaolin.xie@ia.ac.cn> wrote:
>> On 2012年09月21日 01:27, Ian Lance Taylor wrote:
>>> On Wed, Sep 19, 2012 at 11:41 PM, Shawn <shaolin.xie@ia.ac.cn> wrote:
>>>
>>>>       I'm new to binutils and I want to port a linker  to a new
>>>> architecture.
>>>> What I need is just a very basic linker , which can link static elf
>>>> object
>>>> files or static libraries into executables, no functionality for shared
>>>> library or dynamic link.
>>>>       I tried the Gold first,  but found it hastests been bounded to the
>>>> binutils,
>>>> and can't be compiled separately. so I tried to port the bintuils as a
>>>> whole.
>>> Although gold is part of the binutils, it does not use BFD.  So to
>>> port gold it would suffice to just change the top level configure and
>>> make files.
>> Thanks Ian, that's great, GOLD is a nice work. I plan to take the
>> gold/powerpc.cc & elfcpp/powerpc.h as my start point.
>>
>> But I still have some questions. At first I have tried to compile the gold
>> separately with following command :
>> ======================================
>> ~/Work/binutils/binutils-mpu-2.22/gold/configure
>> --prefix=/home/xiesl/Tools/binutils/
>> make
>>
>> but error occurs:
>> ======================================
>> /home/xiesl/Work/binutils/binutils-mpu-2.22/gold/options.cc:35:27: fatal
>> error: ../bfd/bfdver.h:no such file or directory
>> compilation interrupted.
>> make[2]: *** [options.o] error 1
>> make[2]:leaving `/tmp/build'
>> make[1]: *** [all-recursive] error 1
>> make[1]:leaving `/tmp/build'
>>
>> make: *** [all] error 2
>>
>> So can I compile the gold separately ?
> No, you're right, the unmodified sources do require that the BFD
> library be built.  But the only file that is required from BFD is in
> fact bfdver.h, and it is only used for the output of gold --version
> and --help.  You could write your own copy of that file (look for
> bfdver.h in bfd/Makefile.am) and not bother with the rest of BFD.  In
> particular BFD does not have to actually work for your processor.
>
>> and the run the aclocal & autoconf , but errors
>> ======================================
>> xiesl@ubuntu:~/Work/binutils/binutils-mpu-2.22/bfd$ aclocal
>> configure.in:116: warning: macro `AM_BINUTILS_WARNINGS' not found in library
>> xiesl@ubuntu:~/Work/binutils/binutils-mpu-2.22/bfd$ autoconf
>> configure.in:116: error: possibly undefined macro: AM_BINUTILS_WARNINGS
>> If this token and others are legitimate, please use m4_pattern_allow.
>> See the Autoconf documentation.
>> ======================================
> It looks like you didn't pass the right options to aclocal.  It's
> easier to simply run autoreconf.  If you really want to run aclocal,
> run "aclocal -I . -I .. -I ../config".
>
>> By the way, I have used the option "--enable-maintainer-mode" at the first
>> try, Will this option update the configuration script automatically ?
> It will cause the configuration script to be updated when you run
> "make" if any of the inputs files are out of date.  You still have to
> get the right configuration scripts the first time around.
>
> Ian
>




More information about the Binutils mailing list