> Am 08.10.2015 um 18:40 schrieb Khem Raj <[email protected]>:
> 
>> 
>> On Oct 8, 2015, at 9:07 AM, Jens Rehsack <[email protected]> wrote:
>> 
>> 
>>> Am 08.10.2015 um 16:46 schrieb Khem Raj <[email protected]>:
>>> 
>>> 
>>>> On Oct 8, 2015, at 7:33 AM, Jens Rehsack <[email protected]> wrote:
>>>> 
>>>> 
>>>> [Icedtee Ticket #2153] -- see 
>>>> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2153
>>>> 
>>>> This patch prevents gcc generate code on ARM5e accessing 64 bit values, 
>>>> because gcc doesn't ensure they're 64 bit aligned.
>>>> Accessing a 64 bit value from a 32 bit alignment causes segmentation 
>>>> faults.
>>>> 
>>>> Patch is taken from 
>>>> https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/gcc/0001-ARMv5-disable-LDRD-STRD.patch
>>> 
>>> Can you try using -mfix-cortex-m3-ldrd, does that help ?
>> 
>> Well, I have a marvel-kirkwood - I'll give it a shot but don't know whether 
>> it works at all.
>> 
>>> The patch is a workaround to gcc, as it seems real problem is in defining 
>>> instruction constraints
>>> please open a gcc bug for this.
>> 
>> Dunno whether I want to have all that stress. When neither ARCH linux guys 
>> did that nor Icedtea
>> maintainers, how could I succeed there?
>> 
>> Best I can do is (if -mfix-cortex-m3-ldrd doesn't help), keep it private. 
>> When -mfix-cortex-m3-ldrd
>> helps, is adding it to ./meta/conf/machine/include/tune-arm926ejs.inc a sane 
>> approach?
> 
> This might be OK. Although I would like to see it fixed in right way in gcc, 
> we don’t want to carry patches
> that are not accepted upstream. We already have 60 odd patches and we should 
> reduce them if possible.

I tried the approach applying -mfix-cortex-m3-ldrd to TUNE_CCARGS for armv5+dsp 
- and it generates
ldrd instructions anyway. Accepted upstream or not, I have no time to get the 
right upstream fix.

So I keep it private.

During hacking on the fix in meta/conf/machine/ I recognized that the expected 
thump suffix in meta/conf/machine/include/tune-arm926ejs.inc
isn't there and modified the line as

diff --git a/meta/conf/machine/include/tune-arm926ejs.inc 
b/meta/conf/machine/include/tune-arm926ejs.inc
index 335e4e0..a310c9d 100644
--- a/meta/conf/machine/include/tune-arm926ejs.inc
+++ b/meta/conf/machine/include/tune-arm926ejs.inc
@@ -8,4 +8,4 @@ TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", 
"arm926ejs", " -mtune=arm9
 AVAILTUNES += "arm926ejs"
 ARMPKGARCH_tune-arm926ejs = "arm926ejs"
 TUNE_FEATURES_tune-arm926ejs = "${TUNE_FEATURES_tune-armv5te} arm926ejs"
-PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} 
arm926ejste"
+PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} 
arm926ejste arm926ejse"

Want to have a patch for that or shall I keep it private, too?

Cheers
-- 
Jens Rehsack - [email protected]

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to