( bzt | 2024. 08. 06., k – 21:08 )

Még most sem voltál képes válaszolni... Várható volt. De azért kapsz mégegy utolsó esélyt, hogy tisztára mosd a neved!
Miért történt az, hogy micsa sorával ott van az iretq, a sora nélkül pedig sima ret van?
Mert az ABI felülbíráló attribútumot törölted ki, nyilvánvalóan!
Mi olyan történik az egyetlen (és nem "rakat kapcsoló") "-mgeneral-regs-only" hatására, ami bármiben is megváltoztatná az előbbi eredményt?
Le se fordul nélküle, hibát dob, amit megpróbáltál LETAGADNI. (GYK: a többes számot meg azért használtam, mert nem az "-mgeneral-regs-only" az egyetlen, amivel fordításra lehet bírni, például használhattál volna "-mno-sse -mno-mmx -mno-80387" kapcsolókat is, ugye.)
$ gcc aaa.c -o aaa 
aaa.c: In function ‘handler’:
aaa.c:1:1: sorry, unimplemented: SSE instructions aren’t allowed in an interrupt service routine
    1 | void __attribute__((interrupt)) handler(void *p) {}
      | ^~~~
Tehát egyértelműen HAZUDTÁL, mikor azt mondtad, "Az említett egy darab sor nálam hiba és warning nélkül fordul -Wall opcióval, ráadásként az elvárt eredményt hozza iretq -val". És most rajtad a sor, barátocskám, VÁLASZOLJ! - miért most utólag akarsz kötekedni, miért voltál végig csöndben, amikor egy hét időt adtam a válaszokra? - miért hiszed, hogy az ABI-t felülbírálva az a függvény még mindig szabvány C ABI-t használ? (Nyilván nem.) - miért hiszed, hogy a lefordított program "az elvárt eredmény" és hogy egyáltalán működőképes? (Nem az, megírtam nem is egyszer, hogy mi a baj vele.) - miért hazudtad, hogy csak az egy darab prototípus sorral generáltál kódot? (Nyilván nem.) - miért hazudtad, hogy lefordul és próbáltad meg letagadni, hogy hibát dob a gcc kapcsolók nélkül? Ha tisztázni akarod a neved, akkor csak simán válaszolj a feltett kérdésekre!