epsilon-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [poke 2.0] sourcery-arm-thumb2 issue


From: Romain Naour
Subject: Re: [poke 2.0] sourcery-arm-thumb2 issue
Date: Sat, 29 Jan 2022 12:15:04 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0

Hello,

Le 29/01/2022 à 11:51, Mohammad-Reza Nabipoor a écrit :
> Hello Luca.
> 
> On Sat, Jan 29, 2022 at 01:09:25AM +0100, Luca Saiu wrote:
>>
>> I think Mohammad tried to make me notice a similar thing the other
>> night, but I am understanding only now.  
> 
> 
> I've tried to compile poke with `arm-linux-gnueabihf-gcc` compiler from
> debian packages (gcc:armhf). I didn't know that it generates Thumb code.
> 
> But now I know :)
> 
> From https://wiki.debian.org/ArmHardFloatPort:
> 
>   Supported devices
>     Currently the Debian armhf port requires at least an Armv7 CPU with
>     Thumb-2 and VFP3D16. 
> 
> And from `arm-linux-gnueabihf-gcc -dumpspecs`:
> 
>   *multilib_defaults:
>   mthumb mlittle-endian mfloat-abi=hard mno-thumb-interwork
> 
> 
> (If you're on Debian, and want to test this, you can enable Multiarch
> (https://wiki.debian.org/Multiarch/HOWTO) and then `apt install gcc:armhf`)

I did a try by patching jitter with your patches. It build but poke doesn't 
work:

(I removed --disable-dispatch-minimal-threading)

# poke
ERROR: specialized instruction beghl/retR (opcode 25) is defective but has no
replacement
ERROR: specialized instruction begsc/retR (opcode 26) is defective but has no
replacement
ERROR: specialized instruction disas/retR (opcode 61) is defective but has no
replacement
ERROR: specialized instruction formati/nR/retR (opcode 83) is defective but has
no replacement
ERROR: specialized instruction formatiu/nR/retR (opcode 84) is defective but has
no replacement
ERROR: specialized instruction formatl/nR/retR (opcode 85) is defective but has
no replacement
ERROR: specialized instruction formatlu/nR/retR (opcode 86) is defective but has
no replacement
ERROR: specialized instruction indent/retR (opcode 99) is defective but has no
replacement
ERROR: specialized instruction printi/nR/retR (opcode 232) is defective but has
no replacement
ERROR: specialized instruction printiu/nR/retR (opcode 233) is defective but has
no replacement
ERROR: specialized instruction printl/nR/retR (opcode 234) is defective but has
no replacement
ERROR: specialized instruction printlu/nR/retR (opcode 235) is defective but has
no replacement
ERROR: specialized instruction prints/retR (opcode 236) is defective but has no
replacement
ERROR: specialized instruction strace/nR/retR (opcode 305) is defective but has
no replacement
ERROR: specialized instruction !REPLACEMENT-addi/retR (opcode 332) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-addl/retR (opcode 333) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-ains/retR (opcode 334) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-aref/retR (opcode 335) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-arefo/retR (opcode 336) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-arem/retR (opcode 337) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-aset/retR (opcode 338) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-ba/fR/retR (opcode 339) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-bn/fR/retR (opcode 340) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-bnn/fR/retR (opcode 341) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-bnzi/fR/retR (opcode 342) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-bnziu/fR/retR (opcode 343) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-bnzl/fR/retR (opcode 344) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-bnzlu/fR/retR (opcode 345) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-bsli/retR (opcode 346) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-bsliu/retR (opcode 347) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-bsll/retR (opcode 348) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-bsllu/retR (opcode 349) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-bzi/fR/retR (opcode 350) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-bziu/fR/retR (opcode 351) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-bzl/fR/retR (opcode 352) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-bzlu/fR/retR (opcode 353) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-call/retR (opcode 354) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-close/retR (opcode 355) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-divi/retR (opcode 356) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-diviu/retR (opcode 357) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-divl/retR (opcode 358) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-divlu/retR (opcode 359) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-endhl/retR (opcode 360) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-endsc/retR (opcode 361) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-exit/retR (opcode 362) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-exitvm/retR (opcode 363) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-flush/retR (opcode 364) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-ioflags/retR (opcode 365) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-iogetb/retR (opcode 366) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-iosetb/retR (opcode 367) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-iosize/retR (opcode 368) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-map/retR (opcode 369) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-modi/retR (opcode 370) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-modiu/retR (opcode 371) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-modl/retR (opcode 372) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-modlu/retR (opcode 373) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-muli/retR (opcode 374) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-mull/retR (opcode 375) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-negi/retR (opcode 376) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-negiu/retR (opcode 377) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-negl/retR (opcode 378) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-neglu/retR (opcode 379) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-open/retR (opcode 380) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-peekdi/nR/retR (opcode 381) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-peekdiu/nR/retR (opcode 382) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-peekdl/nR/retR (opcode 383) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-peekdlu/nR/retR (opcode 384) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-peeki/nR/nR/nR/retR (opcode 385) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-peekiu/nR/nR/retR (opcode 386) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-peekl/nR/nR/nR/retR (opcode 387) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-peeklu/nR/nR/retR (opcode 388) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-peeks/retR (opcode 389) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-pokedi/nR/retR (opcode 390) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-pokediu/nR/retR (opcode 391) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-pokedl/nR/retR (opcode 392) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-pokedlu/nR/retR (opcode 393) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-pokei/nR/nR/nR/retR (opcode 394) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-pokeiu/nR/nR/retR (opcode 395) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-pokel/nR/nR/nR/retR (opcode 396) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-pokelu/nR/nR/retR (opcode 397) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-pokes/retR (opcode 398) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-popios/retR (opcode 399) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-popob/retR (opcode 400) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-popom/retR (opcode 401) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-powi/retR (opcode 402) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-powiu/retR (opcode 403) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-powl/retR (opcode 404) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-powlu/retR (opcode 405) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-prolog/retR (opcode 406) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-pushios/retR (opcode 407) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-pushtopvar/nR/retR (opcode 408) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-raise/retR (opcode 409) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-reloc/retR (opcode 410) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-return/retR (opcode 411) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-sleep/retR (opcode 412) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-smodi/retR (opcode 413) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-sref/retR (opcode 414) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-srefi/retR (opcode 415) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-srefia/retR (opcode 416) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-srefio/retR (opcode 417) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-srefo/retR (opcode 418) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-sset/retR (opcode 419) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-sseti/retR (opcode 420) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-strref/retR (opcode 421) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-strset/retR (opcode 422) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-subi/retR (opcode 423) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-subl/retR (opcode 424) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-substr/retR (opcode 425) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-sync/retR (opcode 426) is defective
but has no replacement
ERROR: specialized instruction !REPLACEMENT-unreachable/retR (opcode 427) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-ureloc/retR (opcode 428) is
defective but has no replacement
ERROR: specialized instruction !REPLACEMENT-write/retR (opcode 429) is defective
but has no replacement
FATAL ERROR: at least one defective instruction has no replacement: failing now
instead of running with subtle bugs

Cross-compiling poke from sources (git) is not easy since the build system try
to use jitter for the target on the host. is jitter needs to regenerates some
files ?

Best regards,
Romain


> 
> 
> Regards,
> Mohammad-Reza
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]