Giter Site home page Giter Site logo

Comments (3)

dancrossnyc avatar dancrossnyc commented on July 22, 2024

So much has changed in the last three and a little-more than a half years, I'm going to close this. If it comes up again, please re-open.

from plan9port.

nsajko avatar nsajko commented on July 22, 2024

I think this is still an issue (but can not test it right now).

Context: ARM has multiple instruction sets (sometimes, even usually, supported by the same CPU): Thumb and Thumb2, "old" ARM (A32), and the 64-bit ARM A64. Certain special jump instructions are used for switching between them at run time. The "old" ARM (A32) instruction set is nowadays basically deprecated, for example the Cortex-M cores do not even support it.

The trouble is, as far as I understand, the libthread arm assembly is written so it would assemble to the "old" ARM (A32) instruction set, and GCC will compile C to Thumb and Thumb2 code.

The fix could maybe be making it known that the assembly-defined routines are A32, or to compile everything to A32, like aoeu did. But probably the better fix would be to assemble to the newer Thumb and Thumb2 instruction sets in the first place. This would require some changes to the simple assembly in libthread. Probably .syntax unified should be used.

Will investigate when I have more time.

from plan9port.

nsajko avatar nsajko commented on July 22, 2024

@aoeu If you are still interested please try master and my https://github.com/nsajko/plan9port/tree/assemblyTypeFunc regarding this issue. I expect master to still be broken for ARM, and my very simple fix to solve the issue.

from plan9port.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.