Comments (3)
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.
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.
@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)
- O_LARGEFILE workaround broken on aarch64
- Seg. Fault with 9pserve on MacBook Pro M1 HOT 3
- nfs over tcp support for vnfs
- more threadmaybackground needed
- ACME: per-window environment variables HOT 2
- Unable to install on debian HOT 6
- devdraw: Cursor reverts to macOS default on MacBook with notch
- Cant use 9l -- ld cannot find -l9 HOT 4
- libbio brdline error handling
- sam: regexp match issue
- acme -a, on MacOS, is unresponsive after changing window size
- can't pass both -b/-c and -r to INSTALL
- can not build under gcc-less linux HOT 4
- 9pfuse not working on Mac OS Sonoma
- Belorussian link does not work HOT 2
- No pointer warping in acme in virtual Fedora 39
- Issue triage
- 9pserve: msize not optimal
- Build fails with LTO HOT 3
- kcmp in cmd/sort.c conflicts with FreeBSD system header file HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plan9port.