Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jul 31 20:33
    Build #811 passed
  • Jul 31 18:29
    Build #810 passed
  • Jul 30 07:08
    Build #809 passed
  • Jul 29 20:38
    Build #808 passed
  • Jul 29 20:37
    Build #807 passed
  • Jul 27 19:41
    Build #806 passed
  • Jul 27 19:37
    Build #805 passed
  • Jul 27 19:27
    Build #804 passed
  • Jun 23 08:45
    Build #803 passed
  • Jun 22 21:06
    Build #802 passed
  • Jun 22 21:04
    Build #801 passed
  • Jun 11 16:00
    Build #800 passed
  • Jun 11 15:20
    Build #799 passed
  • Jun 11 15:19
    Build #798 passed
  • May 16 18:48
    Build #797 passed
  • May 16 17:49
    Build #796 passed
  • May 16 17:48
    Build #795 passed
  • May 04 23:52
    Build #794 passed
  • Apr 02 15:49
    Build #793 passed
  • Apr 02 15:39
    Build #792 passed
Charles Betros
@charlesbetros
We will need to create a different tool runner if we don't use nasm
It will be called after whatever assembler we choose
Marcelo Caetano
@marcelocaetano
yes, we will need because NASM only supports x86
Charles Betros
@charlesbetros
Eventually we will emit our own binary but until we get to that we can use some open source. I don't know much about the options. Can you come up with some recommendations pros/cons and put it here?
Marcelo Caetano
@marcelocaetano
The first alternatives I have found are GNU Assembler (Christopher's recommendation), Keil armasm (maybe ARM company itself has more options) and Microsoft armasm
Marcelo Caetano
@marcelocaetano
GNU Assembler is open source, Keil armasm seems to generate better optimized code and Microsoft armasm works with PE/COFF format
the issue with Keil and Microsoft maybe are their license terms (I'm not sure)
But I can investigate that and come up with more details
This is all that I know so far
Kudzu
@czhower
glad to see activity..I have only jealousy till I can rejoin :)
Charles Betros
@charlesbetros
@czhower @mterwoord any thoughts on an assembler for Arm?
Matthijs ter Woord
@mterwoord
maybe something ourselves using that json stuff?
Kudzu
@czhower
I took a look a few weeks ago but didnt get a chance to deeply evaluate any of the ARM assemblers.
Matthijs ter Woord
@mterwoord
best imo would be something in .net
Kudzu
@czhower
I think we should first use something like NASM instead of direct binary emission for ARM.. easier to debug output, simpler to implement etc. Im sure int he list fo ARM assemblers there is one that is usable.
someone needs to make a list, evaluate them and present the results wtih prime candidates.
Matthijs ter Woord
@mterwoord
would be a great project for someone to get going with: find a suitable arm assembler for us...
Kudzu
@czhower
yes...!
adn gnu and there are a bunch of others. vasm looks like its current and maintained but havent looked deeper
Marcelo Caetano
@marcelocaetano
I don't think so... it only supports till ARMv4
Raspberry Pi is ARMv6
although old code should work on new processors
its list has Raspberry-Pi VideoCore IV but the line that says "architecture ARMv1 to ARMv4, including THUMB mode" let me disappointed
actually taking all the RPi models in consideration we have ARMv8 in use as well
but I think binaries developed with ARMv6 ISA would work well on ARMv8
Kudzu
@czhower
arm is backwards compat right? But yeah, generally we want smoething that is current and well maintained.
Matthijs ter Woord
@mterwoord
not sure on backwards compat..
afaict, it has a lot of variables
fpu or not, different kinds of fpu's
Marcelo Caetano
@marcelocaetano
it is not completely backwards compat... there are some old thumb instructions not supported on newest versions
there are some issues with the way some instructions are used prior to ARMv6 related to alignment
But I hope there is a way to use the ARMv8 ISA that it can run in AArch32 state and maintain compat for a lot of processor versions
Kudzu
@czhower
ok, can you or someone evalute the ARM assemblers and narrow it down to a few viable candidates?
Matthijs ter Woord
@mterwoord
we'd also need to decide on a minimum arm version we want to target?
Marcelo Caetano
@marcelocaetano
yes @czhower
Matthijs ter Woord
@mterwoord
@marcelocaetano We need a way to emit binaries, but with symbol support, so we know what symbols are at what locations
Marcelo Caetano
@marcelocaetano
ok @mterwoord
@mterwoord regarding your question about the arm version we want to target, I want to check out if we use ARMv8 T32 and A32 instructions we can at least support all Raspberry Pi versions
including RPi Zero
Marcelo Caetano
@marcelocaetano
I'm going to start evaluating the Keil armasm because I already have it installed in my computer
Matthijs ter Woord
@mterwoord
iirc pi zero is arm6?
Marcelo Caetano
@marcelocaetano
it is armv6
Ghost
@ghost~599c281ed73408ce4f727447
Can I ask, what is X# used for?
Matthijs ter Woord
@mterwoord
its a higher level assembler language
to speed up assembler development
Ghost
@ghost~599c281ed73408ce4f727447
oh, I see
Kudzu
@czhower

We have decided to move to a discord server! Please head over there to discuss everything X# related.

https://discord.com/invite/kwtBwv6jhD