* [devel-ports] ARM toolchain
@ 2009-09-28 8:27 Kirill A. Shutemov
2009-09-28 8:43 ` Kirill A. Shutemov
0 siblings, 1 reply; 4+ messages in thread
From: Kirill A. Shutemov @ 2009-09-28 8:27 UTC (permalink / raw)
To: ALT Linux arch porting, Dmitry V. Levin
[-- Attachment #1: Type: text/plain, Size: 806 bytes --]
На выходных я занимался toochain'ом для ARM.
Правки для binutils и glibc у меня в git. Можно забирать.
С gcc всё сложнее. Похоже c++-frontend поломан для ARM.
Простой testcase:
$ cat 1.cc
class a { ~a(); };
a::~a () {}
Если собрать его в shared library (-fpic -shared), то с gcc-4.4,
получается TEXTREL. С gcc-4.3 всё впорядке.
Именно это служит причиной появления TEXTREL в libstdc++.
Результат работы для gcc -S -fpic для обоих версий компилятора
приаттачен.
Буду копать дальше. Может у кого-нибудь есть идеи в какую
сторону? ;)
[-- Attachment #2: gcc-4.3.s --]
[-- Type: application/octet-stream, Size: 1372 bytes --]
[-- Attachment #3: gcc-4.4.s --]
[-- Type: application/octet-stream, Size: 1544 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel-ports] ARM toolchain
2009-09-28 8:27 [devel-ports] ARM toolchain Kirill A. Shutemov
@ 2009-09-28 8:43 ` Kirill A. Shutemov
2009-09-28 14:28 ` Kirill A. Shutemov
0 siblings, 1 reply; 4+ messages in thread
From: Kirill A. Shutemov @ 2009-09-28 8:43 UTC (permalink / raw)
To: ALT Linux arch porting, Dmitry V. Levin
2009/9/28 Kirill A. Shutemov <kirill@shutemov.name>:
> На выходных я занимался toochain'ом для ARM.
>
> Правки для binutils и glibc у меня в git. Можно забирать.
>
> С gcc всё сложнее. Похоже c++-frontend поломан для ARM.
>
> Простой testcase:
>
> $ cat 1.cc
> class a { ~a(); };
> a::~a () {}
Ещё более простой testcase:
$ cat 1.cc
void a(){}
т.е. получаем TEXTREL в любом случае.
>
> Если собрать его в shared library (-fpic -shared), то с gcc-4.4,
> получается TEXTREL. С gcc-4.3 всё впорядке.
>
> Именно это служит причиной появления TEXTREL в libstdc++.
>
> Результат работы для gcc -S -fpic для обоих версий компилятора
> приаттачен.
>
> Буду копать дальше. Может у кого-нибудь есть идеи в какую
> сторону? ;)
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel-ports] ARM toolchain
2009-09-28 8:43 ` Kirill A. Shutemov
@ 2009-09-28 14:28 ` Kirill A. Shutemov
2009-09-28 14:56 ` Anton V. Boyarshinov
0 siblings, 1 reply; 4+ messages in thread
From: Kirill A. Shutemov @ 2009-09-28 14:28 UTC (permalink / raw)
To: ALT Linux arch porting, Dmitry V. Levin
2009/9/28 Kirill A. Shutemov <kirill@shutemov.name>:
> 2009/9/28 Kirill A. Shutemov <kirill@shutemov.name>:
>> На выходных я занимался toochain'ом для ARM.
>>
>> Правки для binutils и glibc у меня в git. Можно забирать.
>>
>> С gcc всё сложнее. Похоже c++-frontend поломан для ARM.
Кажется, разобрался. В gcc-4.4 появилась такая фича:
When the assembler supports it, the compiler will now emit unwind
information using assembler .cfi directives.
Так вот для ARM в случае -fpic/-fpie генерируется неверная директива
.cfi_personality с прямым указанием символа, а не косвенной ссылки
через таблицу, как это происходит на x86. Я постараюсь поправить
gcc. Если не получится, то выключу эту фичу. Если использовать
-fno-dwarf2-cfi-asm, то TEXTREL'ов не наблюдается.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel-ports] ARM toolchain
2009-09-28 14:28 ` Kirill A. Shutemov
@ 2009-09-28 14:56 ` Anton V. Boyarshinov
0 siblings, 0 replies; 4+ messages in thread
From: Anton V. Boyarshinov @ 2009-09-28 14:56 UTC (permalink / raw)
To: ALT Linux arch porting
> Кажется, разобрался. В gcc-4.4 появилась такая фича:
>
> When the assembler supports it, the compiler will now emit unwind
> information using assembler .cfi directives.
>
> Так вот для ARM в случае -fpic/-fpie генерируется неверная директива
> .cfi_personality с прямым указанием символа, а не косвенной ссылки
> через таблицу, как это происходит на x86.
Здорово, спасибо!
Антон
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-09-28 14:56 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-28 8:27 [devel-ports] ARM toolchain Kirill A. Shutemov
2009-09-28 8:43 ` Kirill A. Shutemov
2009-09-28 14:28 ` Kirill A. Shutemov
2009-09-28 14:56 ` Anton V. Boyarshinov
ALT Linux architecture porting
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel-ports/0 devel-ports/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel-ports devel-ports/ http://lore.altlinux.org/devel-ports \
devel-ports@lists.altlinux.org devel-ports@lists.altlinux.ru devel-ports@lists.altlinux.com
public-inbox-index devel-ports
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel-ports
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git