Search found 43 matches

by Dwedit
Wed Oct 19, 2011 7:49 pm
Forum: devkitARM
Topic: Using --gc-sections puts __data_end__ before __data_start__
Replies: 2
Views: 4590

Re: Using --gc-sections puts __data_end__ before __data_star

Also, there's another problem. In crt0, it overwrites the SBSS section with junk data, because it's copying from __ewram_start__ to __ewram_end__, which is past the end of the SBSS section. It should be copying up to __sbss_start__ instead. In the crt0.s file, change this: @-------------------------...
by Dwedit
Wed Oct 19, 2011 7:24 pm
Forum: devkitARM
Topic: Using --gc-sections puts __data_end__ before __data_start__
Replies: 2
Views: 4590

Using --gc-sections puts __data_end__ before __data_start__

I was just spending the last few hours trying to track down a problem in devkitarm. I was having a problem where "__data_start__" came in memory after "__data_end__", so when the crt0 code copies data into ram, it copies a negative number (big number) of bytes, and crashes. After...
by Dwedit
Thu Oct 06, 2011 4:35 am
Forum: devkitARM
Topic: Linker is adding extra crap (Unreferenced library code)
Replies: 15
Views: 27896

Re: Linker is adding extra crap (Unreferenced library code)

Works perfectly now, big thanks!
by Dwedit
Tue Oct 04, 2011 5:27 pm
Forum: devkitARM
Topic: Linker is adding extra crap (Unreferenced library code)
Replies: 15
Views: 27896

Re: Linker is adding extra crap (Unreferenced library code)

tueidj wrote:I say leave it as is. If I want an exception when I divide by zero then I should get one. If someone else doesn't, they can write their own long division function.
The division by zero handler it uses is completely blank, and can't possibly throw any exceptions.
by Dwedit
Tue Oct 04, 2011 2:04 am
Forum: devkitARM
Topic: Linker is adding extra crap (Unreferenced library code)
Replies: 15
Views: 27896

Re: Linker is adding extra crap (Unreferenced library code)

Here, I'm doing a 64-bit unsigned division. This is a call to the function __aeabi_uldivmod. So it depends on these functions: __aeabi_uldivmod from _aeabi_uldivmod.o __aeabi_ldiv0 from _dvmd_tls.o (this appears to be a blank function, the only content is "bx lr", it's probably the divisio...
by Dwedit
Sun Oct 02, 2011 2:08 am
Forum: devkitARM
Topic: Linker is adding extra crap (Unreferenced library code)
Replies: 15
Views: 27896

Re: Linker is adding extra crap (Unreferenced library code)

I have now tried that, but it didn't work. My makefile line now looks like LDFLAGS = -g $(ARCH) -Wl,-Map,$(notdir $@).map,--gc-sections EDIT: When I look through "libgcc.a", I see this odd symbol table stuff in "bpabi.o". There are references to "aeabi_unwind_cpp_pr0", ...
by Dwedit
Sat Oct 01, 2011 10:32 pm
Forum: Off Topic
Topic: NO$GBA hates the "push sp" instruction, libgcc uses it
Replies: 5
Views: 13032

Re: NO$GBA hates the "push sp" instruction, libgcc uses it

I have confirmed that including this ASM code makes 64-bit division compatible with NO$GBA: .text .align .pool .global __aeabi_ldivmod .global __aeabi_uldivmod __aeabi_ldivmod: cmp r3, #0 cmpeq r2, #0 bne 0f cmp r1, #0 cmpeq r0, #0 movlt r1, #-2147483648 @ 0x80000000 movlt r0, #0 mvngt r1, #-2147483...
by Dwedit
Sat Oct 01, 2011 10:14 pm
Forum: devkitARM
Topic: Linker is adding extra crap (Unreferenced library code)
Replies: 15
Views: 27896

Re: Linker is adding extra unreferenced library code

I'm sorry, it's just that these posts usually come immediately after I've been trying for about 4 hours to frantically figure out what's going on, and I'm really frustrated at the time I'm posting them. I just really don't understand how code that isn't referenced anywhere ends up in the program. Wh...
by Dwedit
Fri Sep 30, 2011 6:54 pm
Forum: Bug Reports
Topic: Libgba: gba_compression.h doesn't have const source pointer
Replies: 3
Views: 7674

Re: Libgba: gba_compression.h doesn't have const source poin

I'm used to getting compiler errors when you try to promote a const u32* to a plain u32*. Is this a non-standard extension of GCC that a const pointer can be promoted to a non-const void pointer, or is it perfectly legal?
I do get warnings when it happens.
by Dwedit
Fri Sep 30, 2011 8:33 am
Forum: devkitARM
Topic: Linker is adding extra crap (Unreferenced library code)
Replies: 15
Views: 27896

Linker is adding extra crap (Unreferenced library code)

I'm having problems with unnecessary code getting linked into my project. I can't figure out where these symbols are coming from: abort _Unwind_decode_target2 __aeabi_unwind_cpp_pr0 restore_core_regs __gnu_unwind_execute __libc_init_array After I disassemble my .elf file with objdump, I can't find a...