This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GCC 3.2.1 - apcs problem (was GCC 3.2.1 arm assembler error )


Follow up.

Upon further investigation what I see is a C++ function calling a C function. The problem seems to go away when I use the -mno-apcs-frame option.

My question is: What is the difference in register usage between apcs-frame and no-apcs-frame?

Is there a problem with apcs frames here, I have some more smaple assembly generated.

I am still looking for references to the apcs setup in gcc, but any help would be greatly appreciated.


* Gcc 3.2.1 xscale defaults to -mapcs-frame



With -mno-apcs-frame option.



_ZN12PciXScaleDevC2Ej: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}


strncpy: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0



---------------------
With -mapcs-frame


_ZN12PciXScaleDevC2Ej: @ args = 0, pretend = 0, frame = 4 @ frame_needed = 1, uses_anonymous_args = 0 mov ip, sp stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, ip, lr, pc}


strncpy: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0





------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe at sources dot redhat dot com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]