Skip to content

Conversation

@japaric
Copy link
Contributor

@japaric japaric commented Aug 8, 2016

@japaric
Copy link
Contributor Author

japaric commented Aug 8, 2016

Splitting rlibc into its own crate yields correct __aeabi_* intrinsics

00000000 <__aeabi_memcpy>:
   0:   eafffffe        b       0 <memcpy>

But using this crate still generates a recursive bomb.

@Amanieu
Copy link
Member

Amanieu commented Aug 8, 2016

So is the problem inside the rlibc crate? Is the memcpy function calling itself?

@japaric
Copy link
Contributor Author

japaric commented Aug 8, 2016

The rlibc disassembly loosk correct.

Interestingly, disabling LTO on this branch doesn't fix the infinite recursion.

@Amanieu
Copy link
Member

Amanieu commented Aug 8, 2016

memcmp should be added as well since it is called by libcore.

#[cfg(test)]
extern crate core;

extern crate rlibc;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think an extern crate is necessary here since you're getting the symbols using extern "C".

@japaric japaric closed this Aug 12, 2016
@japaric japaric deleted the weak2 branch August 13, 2016 15:28
tgross35 pushed a commit to tgross35/compiler-builtins that referenced this pull request Feb 23, 2025
91: Implement exp2 and exp2f r=japaric a=porglezomp

Closes rust-lang#15
Closes rust-lang#16

Co-authored-by: C Jones <code@calebjones.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants