Grant Edwards | 31 Aug 16:52 2010
Picon

libssp missing from target

I just added a package (systemtap) that uses libssp.  I find libssp.so
et al. are present in output/staging/lib but missing from
output/target/lib. Is there something I need to do in my package
makefile to tell buildroot that my package needs libssp to be copied
from staging into target?

--

-- 
Grant Edwards               grant.b.edwards        Yow! My NOSE is NUMB!
                                  at               
                              gmail.com            
Grant Edwards | 31 Aug 18:20 2010
Picon

Re: libssp missing from target

On 2010-08-31, Grant Edwards <grant.b.edwards@...> wrote:

> I just added a package (systemtap) that uses libssp.  I find libssp.so
> et al. are present in output/staging/lib but missing from
> output/target/lib. Is there something I need to do in my package
> makefile to tell buildroot that my package needs libssp to be copied
> from staging into target?

I just enabled building of gdbserver for the target, and now it's
missing a libarary on the target as well (libthread_db).

How do I tell buildroot to copy to output/target the libraires
required by the binaries in output/target/usr/bin?

--

-- 
Grant Edwards               grant.b.edwards        Yow! Jesus is my POSTMASTER
                                  at               GENERAL ...
                              gmail.com            
Thomas Petazzoni | 31 Aug 20:05 2010

Re: libssp missing from target

On Tue, 31 Aug 2010 16:20:23 +0000 (UTC)
Grant Edwards <grant.b.edwards@...> wrote:

> I just enabled building of gdbserver for the target, and now it's
> missing a libarary on the target as well (libthread_db).
> 
> How do I tell buildroot to copy to output/target the libraires
> required by the binaries in output/target/usr/bin?

Assuming you're using an external toolchain, libthread_db should
already be added to the target by the following snippet in
toolchain/toolchain-external/ext-tool.mk :

ifneq ($(BR2_PTHREADS_NONE),y)
LIB_EXTERNAL_LIBS+=libpthread.so
ifeq ($(BR2_PACKAGE_GDB_SERVER),y)
LIB_EXTERNAL_LIBS+=libthread_db.so
endif # gdbserver
endif # ! no threads

Thomas
--

-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
Grant Edwards | 31 Aug 20:29 2010
Picon

Re: libssp missing from target

On 2010-08-31, Thomas Petazzoni
<thomas.petazzoni@...> wrote:
> On Tue, 31 Aug 2010 16:20:23 +0000 (UTC)
> Grant Edwards <grant.b.edwards@...> wrote:
>
>> I just enabled building of gdbserver for the target, and now it's
>> missing a libarary on the target as well (libthread_db).
>> 
>> How do I tell buildroot to copy to output/target the libraires
>> required by the binaries in output/target/usr/bin?
>
> Assuming you're using an external toolchain, libthread_db should
> already be added to the target by the following snippet in
> toolchain/toolchain-external/ext-tool.mk :
>
> ifneq ($(BR2_PTHREADS_NONE),y)
> LIB_EXTERNAL_LIBS+=libpthread.so
> ifeq ($(BR2_PACKAGE_GDB_SERVER),y)
> LIB_EXTERNAL_LIBS+=libthread_db.so
> endif # gdbserver
> endif # ! no threads

It appears my ext-tool.mk file is out-of-date.  I'll update it to
include that bitof code.

--

-- 
Grant Edwards               grant.b.edwards        Yow! Look!  A ladder!
                                  at               Maybe it leads to heaven,
                              gmail.com            or a sandwich!
(Continue reading)

Thomas Petazzoni | 31 Aug 20:07 2010

Re: libssp missing from target

On Tue, 31 Aug 2010 14:52:34 +0000 (UTC)
Grant Edwards <grant.b.edwards@...> wrote:

> I just added a package (systemtap) that uses libssp.  I find libssp.so
> et al. are present in output/staging/lib but missing from
> output/target/lib. Is there something I need to do in my package
> makefile to tell buildroot that my package needs libssp to be copied
> from staging into target?

What is libssp ? Who needs it (besides systemtap) and for what ?

It seems to exist in uClibc toolchains, but not in glibc toolchains.

Regards,

Thomas
--

-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
Grant Edwards | 31 Aug 20:39 2010
Picon

Re: libssp missing from target

On 2010-08-31, Thomas Petazzoni
<thomas.petazzoni@...> wrote:
> On Tue, 31 Aug 2010 14:52:34 +0000 (UTC)
> Grant Edwards <grant.b.edwards@...> wrote:
>
>> I just added a package (systemtap) that uses libssp.  I find libssp.so
>> et al. are present in output/staging/lib but missing from
>> output/target/lib. Is there something I need to do in my package
>> makefile to tell buildroot that my package needs libssp to be copied
>> from staging into target?
>
> What is libssp?

I don't really know.  Here are the text symbols it defines:

 __chk_fail
 __stack_chk_fail
 __stack_chk_fail_local
 __gets_chk
 __memcpy_chk
 __memmove_chk
 __mempcpy_chk
 __memset_chk
 __stpcpy_chk
 __strcat_chk
 __strcpy_chk
 __strncat_chk
 __strncpy_chk

My guess is it's some internal uClibc stuff.
(Continue reading)

Will Newton | 1 Sep 10:56 2010
Picon

Re: libssp missing from target

On Tue, Aug 31, 2010 at 7:07 PM, Thomas Petazzoni
<thomas.petazzoni@...> wrote:
> On Tue, 31 Aug 2010 14:52:34 +0000 (UTC)
> Grant Edwards <grant.b.edwards@...> wrote:
>
>> I just added a package (systemtap) that uses libssp.  I find libssp.so
>> et al. are present in output/staging/lib but missing from
>> output/target/lib. Is there something I need to do in my package
>> makefile to tell buildroot that my package needs libssp to be copied
>> from staging into target?
>
> What is libssp ? Who needs it (besides systemtap) and for what ?

I believe it's part of gcc, used for stack checking.

Gmane