Skip to content

When dynamic linking, R15 may be clobbered by a global variable access #113

@gbotrel

Description

@gbotrel

See also #112 .

Can reproduce on x86 machine with

go build -linkshared ./...

For small moduli (<= 5 words) we can avoid the use of R15 register, a fix will be pushed in the code generator.

For larger moduli:

  • define qInv0 and qElement as constants through a define macro (imm)
  • put qElement on the stack at the start of the function
  • .. ?

however, for large moduli, this impact performance. Tracking the issue here, one option would be to use build tags for dynamic linking and a slower path.

Metadata

Metadata

Assignees

Labels

type: bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions