Static linking on 64-bit PowerPC ELFv2

Sebastian Huber sebastian.huber@embedded-brains.de
Fri Aug 11 11:01:00 GMT 2017



On 11/08/17 12:50, Alan Modra wrote:
> On Fri, Aug 11, 2017 at 11:48:50AM +0200, Sebastian Huber wrote:
>> Hello,
>>
>> I recently added 64-bit PowerPC for RTEMS using the ELFv2 ABI. On RTEMS, the
>> applications are statically linked with the operating system. I am now a bit
>> surprised be a linker behaviour. I have a big library containing a network
>> stack with many features. On other targets the linker just picks individual
>> objects from the library to resolve the dependencies. However, on the 64-bit
>> PowerPC the linker seems to pull in the complete library somehow. I see in
>> the linker map file lines like this:
>>
>> ./libbsd.a(utils.c.18.o)      (print_string)
> You're only showing part of the complete line (which is no doubt
> split).  What you show is the reference, the line above it would be
> the included object.
>

I am not sure if this line is incomplete. With a bit more context I have:

./libbsd.a(ip6_forward.c.18.o)
                               ./libbsd.a(ip6_input.c.18.o) 
(_bsd_ip6_forward)
./libbsd.a(ofw_bus_if.c.18.o)
                               ./libbsd.a(rtems-kernel-nexus.c.18.o) 
(ofw_bus_map_intr_desc)
./libbsd.a(mdns-hostname-default.c.18.o)
                               ./libbsd.a(hostname.c.12.o) 
(rtems_mdns_gethostname_handler)
./libbsd.a(utils.c.18.o)      (print_string)
./libbsd.a(rtems-bsd-get-allocator-domain-size.c.18.o)
                               ./libbsd.a(rtems-kernel-page.c.18.o) 
(rtems_bsd_get_allocator_domain_size)
./libbsd.a(rtems-bsd-get-task-priority.c.18.o)
                               ./libbsd.a(rtems-kernel-init.c.18.o) 
(rtems_bsd_get_task_priority)

My interpretation is for example rtems-bsd-get-task-priority.c.18.o is 
included due to a reference to rtems_bsd_get_task_priority in 
rtems-kernel-init.c.18.o.

I don't know how to interpret the utils.c.18.o line.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the Binutils mailing list