From: Carmelo AMOROSO <carmelo.amoroso@st.com>
To: linux-sh@vger.kernel.org
Subject: Re: Hi, all,
Date: Tue, 22 Jan 2008 10:13:39 +0000 [thread overview]
Message-ID: <4795C1D3.1090304@st.com> (raw)
In-Reply-To: <200801201730.07407.vapier@gentoo.org>
Fabio Giovagnini wrote:
> Ok, so to solve my problem of linking statically a c++ application with
> uclibc I need to move the function
> dl_iterate_phdr
> form
> libdl
> to libc
> ar Carmelo suggest.
> Is it correct?
>
Yes, you should.. but I suggest you waiting for the the patched uClibc.
I could suggest another work-around. You may patch your gcc to use the
generic
unwind implementation instead unwind-dw2-fde instead of the glibc
one unwind-dw2-fde-glibc.
Patch gcc/config/t-linux (from gcc source) changing the line
# Use unwind-dw2-fde-glibc
LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
with
# Use unwind-dw2-fde
LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
This temporary work-around worked for me before fixing uClibc.
Generic unwind-dw2-fde doesn't use the _dl_iterate_phdr.
Carmelo
>
> Alle 10:34, martedì 22 gennaio 2008, Kieran Bingham ha scritto:
>
>> Hi Fabio,
>>
>> The SH2/SH2a does not have any support for shared librarys yet. I
>> think its something renesas are thinking about but they haven't got to
>> yet.
>>
>> This was a problem we hit while working on the board too.
>>
>>
>>> 3) I looked for ARCH_HAS_NO_LDSO and I found in extra/Configs/Config.sh
>>> config CONFIG_SH2
>>> select ARCH_HAS_NO_MMU
>>> select ARCH_HAS_NO_LDSO
>>> bool "SH2"
>>>
>>> so I got the answer to my question.
>>>
>>> Well.
>>> Setting ARCH_HAS_NO_LDSO is needed by my sh27203 target or is a choice of
>>> MCP data for building the minimal sysstem?
>>>
>> No, this was not a choice of MPC Data. We didn't change anything in
>> that uClibc source tree.
>>
>> Carmello: What is this `dl_iterate_phdr' - is it something that is
>> part of dynamic linking / shared libraries?
>> --
>> Kieran
>>
>>
>>> Thanks a lot.
>>>
>>> Ciao
>>>
>>> Alle 08:58, martedì 22 gennaio 2008, Carmelo AMOROSO ha scritto:
>>>
>>>> Fabio Giovagnini wrote:
>>>>
>>>>> You understood properly about what I have been trying to do. Iwas
>>>>> trying to link a simple c++ application staticxally using uclibc.
>>>>>
>>>>> This is the output you are asking for.
>>>>> If it is not enogh tell me what to add more.
>>>>>
>>>>> fgiovagnini@aurio02:~/sh7203-uClinux-1.4/build> make c++1stApp
>>>>> make -f Makefile.c++1stApp
>>>>> make[1]: Entering directory
>>>>> `/home/fgiovagnini/sh7203-uClinux-1.4/build' make -e -C
>>>>> /home/fgiovagnini/sh7203-uClinux-1.4/build/../c++1stApp make[2]:
>>>>> Entering directory
>>>>> `/home/fgiovagnini/sh7203-uClinux-1.4/c++1stApp' sh-linux-g++ -m3e
>>>>> -mb -v -DGNU_SOURCE -Wall -c -o main.o main.cpp Reading specs from
>>>>>
>>>>> /home/fgiovagnini/sh7203-uClinux-1.4/build/target/lib/gcc/sh-linux/3.
>>>>> 4.6/ spe cs Configured with:
>>>>> /home/fgiovagnini/sh7203-uClinux-1.4/build/../gcc-3.4.6/configure
>>>>> --prefix=/home/fgiovagnini/sh7203-uClinux-1.4/build/target
>>>>> --target=sh-linux
>>>>> --with-sysroot=/home/fgiovagnini/sh7203-uClinux-1.4/build/target
>>>>> --enable-languages=c,c++ --disable-shared Thread model: posix
>>>>> gcc version 3.4.6
>>>>>
>>>>> /home/fgiovagnini/sh7203-uClinux-1.4/build/target/libexec/gcc/sh-linu
>>>>> x/3. 4.6 /cc1plus -quiet -v -D_GNU_SOURCE -DGNU_SOURCE main.cpp -quiet
>>>>> -dumpbase main.cpp -m3e -mb -auxbase-strip main.o -Wall -version -o
>>>>> /tmp/ccik376j.s ignoring nonexistent directory
>>>>>
>>>>> "/home/fgiovagnini/sh7203-uClinux-1.4/build/target/usr/local/include"
>>>>> ignoring nonexistent directory
>>>>>
>>>>> "/home/fgiovagnini/sh7203-uClinux-1.4/build/target/lib/gcc/sh-linux/3
>>>>> .4.6 /.. /../../../sh-linux/include" #include "..." search starts
>>>>> here: #include <...> search starts here:
>>>>>
>>>>> /home/fgiovagnini/sh7203-uClinux-1.4/build/target/lib/gcc/sh-linux/3.
>>>>> 4.6/ ../ ../../../include/c++/3.4.6
>>>>>
>>>>> /home/fgiovagnini/sh7203-uClinux-1.4/build/target/lib/gcc/sh-linux/3.
>>>>> 4.6/ ../ ../../../include/c++/3.4.6/sh-linux
>>>>>
>>>>> /home/fgiovagnini/sh7203-uClinux-1.4/build/target/lib/gcc/sh-linux/3.
>>>>> 4.6/ ../ ../../../include/c++/3.4.6/backward
>>>>>
>>>>> /home/fgiovagnini/sh7203-uClinux-1.4/build/target/lib/gcc/sh-linux/3.
>>>>> 4.6/ inc lude
>>>>> /home/fgiovagnini/sh7203-uClinux-1.4/build/target/usr/include End of
>>>>> search list.
>>>>> GNU C++ version 3.4.6 (sh-linux)
>>>>> compiled by GNU C version 4.1.0 (SUSE Linux).
>>>>> GGC heuristics: --param ggc-min-expand™ --param
>>>>> ggc-min-heapsize\x129238
>>>>>
>>>>> /home/fgiovagnini/sh7203-uClinux-1.4/build/target/lib/gcc/sh-linux/3.
>>>>> 4.6/ ../ ../../../sh-linux/bin/as -big -o main.o /tmp/ccik376j.s
>>>>> sh-linux-g++ -m3e -mb -Wl,-EB -Wl,-elf2flt=-s65536 -o c++1stApp
>>>>> main.o
>>>>> c++1stApp.elf2flt: In function `_Unwind_Find_FDE':
>>>>> /home/fgiovagnini/sh7203-uClinux-1.4/build/../gcc-3.4.6/gcc/unwind-dw
>>>>> 2-fd e-gl ibc.c:291: undefined reference to `dl_iterate_phdr'
>>>>> collect2: ld returned 1 exit status
>>>>> make[2]: *** [c++1stApp] Error 1
>>>>> make[2]: Leaving directory
>>>>> `/home/fgiovagnini/sh7203-uClinux-1.4/c++1stApp' make[1]: *** [build]
>>>>> Error 2
>>>>> make[1]: Leaving directory
>>>>> `/home/fgiovagnini/sh7203-uClinux-1.4/build' make: *** [c++1stApp]
>>>>> Error 2
>>>>>
>>>>> Thanks a lot and best regards
>>>>>
>>>> As a work-around, you may try to arrange your makefile to link
>>>> statically against libdl.a where actually _dl_iterate_phdr is defined.
>>>> The final solution consists of moving the _dl_iterate_phdr from libdl.a
>>>> to libc.a,
>>>> but it needs some other changes. I've already have a working solution
>>>> for uClibc-nptl
>>>> for sh4, but this is still missing from the trunk.
>>>> I'm working to merge it to trunk asas. Then you need to use the latest
>>>> uClibc.
>>>>
>>>> See if the work-around works for you.
>>>>
>>>> Carmelo
>>>> -
>>>> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>
>>> --
>>> Fabio Giovagnini
>>>
>>> Aurion s.r.l.
>>> via degli orti 11,
>>> 40050 Funo di Argelato (BO)
>>> P.I e C.F.
>>> 00885711200
>>> Tel. +39.335.8350919
>>> Fax +39.051.8659009
>>>
>>> www.aurion-tech.com
>>>
>>> account telefono VoIP skype (www.skype.com):
>>> aurion.giovagnini
>>>
>>> aurion.giovagnini
>>> -
>>> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>
>
>
next prev parent reply other threads:[~2008-01-22 10:13 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-20 22:30 Hi, all, Mike Frysinger
2008-01-21 1:55 ` Mike Frysinger
2008-01-21 7:46 ` Carmelo AMOROSO
2008-01-21 8:08 ` Mike Frysinger
2008-01-21 8:38 ` Fabio Giovagnini
2008-01-21 8:39 ` Fabio Giovagnini
2008-01-21 14:29 ` Fabio Giovagnini
2008-01-21 17:14 ` Carmelo AMOROSO
2008-01-21 17:50 ` Fabio Giovagnini
2008-01-22 7:58 ` Carmelo AMOROSO
2008-01-22 9:34 ` Kieran Bingham
2008-01-22 9:39 ` Fabio Giovagnini
2008-01-22 9:57 ` Paul Mundt
2008-01-22 10:13 ` Carmelo AMOROSO [this message]
2008-01-22 11:21 ` Fabio Giovagnini
2008-01-23 19:50 ` Fabio Giovagnini
2008-01-23 23:06 ` Fabio Giovagnini
2008-01-23 23:47 ` Kieran Bingham
2008-01-24 12:16 ` Fabio Giovagnini
2008-01-28 10:05 ` Fabio Giovagnini
-- strict thread matches above, loose matches on Subject: below --
2011-04-02 5:35 Hi all, Lakshitha Harshan
[not found] ` <AANLkTi=VS+_5YkcuvLqa_W1EGTyOk4D0YKrDwEdBeeUq@mail.gmail.com>
[not found] ` <AANLkTi=9D4LuQcqombfQKejoAwDeLPiS7GKFu7TTrgM6@mail.gmail.com>
2011-04-03 4:11 ` Srujan Kotikela
[not found] ` <AANLkTikcO2pJAxVDOG7tnHdH-qk4bBPYuic3dEk0TE8D@mail.gmail.com>
[not found] ` <AANLkTimytzKnn8xvezzGaAhzwWzmnXCQ+7=HUC=xW07Z@mail.gmail.com>
2011-04-03 14:23 ` Srujan Kotikela
2010-11-14 8:19 Fabio Giovagnini
2003-01-25 14:05 hi all!! Alfonso Martone
2003-01-26 3:52 ` Dan Olson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4795C1D3.1090304@st.com \
--to=carmelo.amoroso@st.com \
--cc=linux-sh@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.