dc v6 graphics
dc v6 graphics
ehi ehi ehi! darkalex, moonlight...
how could you do that??!?...
can you please tell us????
how could you do that??!?...
can you please tell us????
Ciao! from Italy
-
- Posts: 328
- Joined: Sun Jun 03, 2007 10:05 pm
-
- Posts: 18
- Joined: Wed Nov 28, 2007 4:18 am
The vlf library is far from being finished, this could be like a 0.001 version :p and it is not prepared for a devs release, but...
Anyways here is the main program (resurrection.prx) source code that uses the vlf gui.
http://www.sendspace.com/file/pmvxzn
Some notes:
- vlf.prx contains the libc. To program using vlf gui your program has to use the vlf libc and not newlib/pspsdk libc, you have to use the included build.mak. For a normal application where you have the required prx's in your same directory(iop.prx, intraFont.prx and vlf.prx), you should modify the start_thread source code in crt0.c to the following one:
- Use the binaries from DC6 release.
- The heap size is passed as first parameter of vlfGuiInit. In this case -1 = all available. I think my version of the newlib is a bit old, so vlf.prx shouldn't support other negative values for the heap, just try anyways.
- The vlf libc currently only exports the following functions, as I was adding them to exports as I was needing them:
- vlf.h file has lot of things not commented yet, as it is not prepared for a release.
- Some functions won't work properly or won't work at all, some of them are just there for test.
- There is a lot of probabilities that I change a lot of the functions, and that it won't be compatible with new vlf versions. (for example those resources functions that I hate how they are).
- Objects have to be added/removed/modified in the drawing thread, otherwise you may get a bad drawing.
IF you are in thread X and you want to add/modify/remove an object you would do something like this:
All event handlers are executed in the drawing thread just before drawing objects.
- The set background function has problems with the height of the image not being a divisor of 272.
Well, good luck to make this working lol
Anyways here is the main program (resurrection.prx) source code that uses the vlf gui.
http://www.sendspace.com/file/pmvxzn
Some notes:
- vlf.prx contains the libc. To program using vlf gui your program has to use the vlf libc and not newlib/pspsdk libc, you have to use the included build.mak. For a normal application where you have the required prx's in your same directory(iop.prx, intraFont.prx and vlf.prx), you should modify the start_thread source code in crt0.c to the following one:
Code: Select all
int start_thread(SceSize args, void *argp)
{
SceUID mod;
char *path = (char *)argp;
int last_trail = -1;
int i;
if (path)
{
for (i = 0; path[i]; i++)
{
if (path[i] == '/')
last_trail = i;
}
}
if (last_trail >= 0)
path[last_trail] = 0;
sceIoChdir(path);
path[last_trail] = '/';
mod = sceKernelLoadModule("iop.prx", 0, NULL);
mod = sceKernelStartModule(mod, args, argp, NULL, NULL);
mod = sceKernelLoadModule("intraFont.prx", 0, NULL);
mod = sceKernelStartModule(mod, args, argp, NULL, NULL);
mod = sceKernelLoadModule("vlf.prx", 0, NULL);
mod = sceKernelStartModule(mod, args, argp, NULL, NULL);
vlfGuiInit(-1, app_main);
return sceKernelExitDeleteThread(0);
}
- The heap size is passed as first parameter of vlfGuiInit. In this case -1 = all available. I think my version of the newlib is a bit old, so vlf.prx shouldn't support other negative values for the heap, just try anyways.
- The vlf libc currently only exports the following functions, as I was adding them to exports as I was needing them:
Code: Select all
PSP_EXPORT_START(VlfLIBC, 0, 0x0001)
PSP_EXPORT_FUNC_NID(memcpy, 0x9BECFB07)
PSP_EXPORT_FUNC_NID(memset, 0xC37F286B)
PSP_EXPORT_FUNC_NID(memmove, 0x0B80B98F)
PSP_EXPORT_FUNC_NID(strcpy, 0x6FD77CF1)
PSP_EXPORT_FUNC_NID(strncpy, 0xAD1B8B78)
PSP_EXPORT_FUNC_NID(strcat, 0x785B4AD2)
PSP_EXPORT_FUNC_NID(strncat, 0x37816C4B)
PSP_EXPORT_FUNC_NID(strstr, 0x1189DEE4)
PSP_EXPORT_FUNC_NID(strchr, 0x71BD4392)
PSP_EXPORT_FUNC_NID(strrchr, 0xDE6B20E6)
PSP_EXPORT_FUNC_NID(printf, 0xEE062811)
PSP_EXPORT_FUNC_NID(sprintf, 0x90586B92)
PSP_EXPORT_FUNC_NID(snprintf, 0xCAEE18EE)
PSP_EXPORT_FUNC_NID(fprintf, 0xA48C1D67)
PSP_EXPORT_FUNC_NID(scanf, 0xDEFA2111)
PSP_EXPORT_FUNC_NID(sscanf, 0x7AD5E2FB)
PSP_EXPORT_FUNC_NID(fscanf, 0x18432C05)
PSP_EXPORT_FUNC_NID(strlen, 0x8CA6D7FA)
PSP_EXPORT_FUNC_NID(strnlen, 0x97627E33)
PSP_EXPORT_FUNC_NID(strcmp, 0x0D254CA5)
PSP_EXPORT_FUNC_NID(strncmp, 0x65AA73A2)
PSP_EXPORT_FUNC_NID(memcmp, 0x963F2271)
PSP_EXPORT_FUNC_NID(fopen, 0x72A04F8E)
PSP_EXPORT_FUNC_NID(fread, 0x352D1ECF)
PSP_EXPORT_FUNC_NID(fclose, 0xBC709C1A)
PSP_EXPORT_FUNC_NID(fwrite, 0x4F6D4257)
PSP_EXPORT_FUNC_NID(fgetc, 0x5F463703)
PSP_EXPORT_FUNC_NID(fputc, 0x577B6792)
PSP_EXPORT_FUNC_NID(memchr, 0x7003937A)
PSP_EXPORT_FUNC_NID(strcasecmp, 0xE5C7324A)
PSP_EXPORT_FUNC_NID(strncasecmp, 0xF992589C)
PSP_EXPORT_FUNC_NID(malloc, 0xAC773996)
PSP_EXPORT_FUNC_NID(memalign, 0x4BCFEC4C)
PSP_EXPORT_FUNC_NID(free, 0x8A93DF0A)
PSP_EXPORT_FUNC_NID(ftell, 0x710D2ED5)
PSP_EXPORT_FUNC_NID(fseek, 0x903689DE)
PSP_EXPORT_FUNC_NID(vsnprintf, 0x4B49491B)
PSP_EXPORT_FUNC_NID(atoi, 0xF6FF2554)
PSP_EXPORT_FUNC_NID(vsprintf, 0x13B380E2)
PSP_EXPORT_FUNC_NID(realloc, 0x8F770741)
PSP_EXPORT_FUNC_NID(__extendsfdf2, 0x285066C2)
PSP_EXPORT_FUNC_NID(__muldf3, 0x33FC8858)
PSP_EXPORT_FUNC_NID(__adddf3, 0x2812E321)
PSP_EXPORT_FUNC_NID(__truncdfsf2, 0x00616999)
PSP_EXPORT_END
- Some functions won't work properly or won't work at all, some of them are just there for test.
- There is a lot of probabilities that I change a lot of the functions, and that it won't be compatible with new vlf versions. (for example those resources functions that I hate how they are).
- Objects have to be added/removed/modified in the drawing thread, otherwise you may get a bad drawing.
IF you are in thread X and you want to add/modify/remove an object you would do something like this:
Code: Select all
int UpdateItems(void *param)
{
// update items
return VLF_EV_RET_REMOVE_HANDLERS;
}
int thread_X()
{
...
vlfGuiAddEventHandler(0, -1, UpdateItems, NULL);
...
}
- The set background function has problems with the height of the image not being a divisor of 272.
Well, good luck to make this working lol
ooohh! thank you very much!
I'll have a deep deep deep look at your code tomorrow...
really well done! thank you.
I think you should release that library... maby with a later m33sdk... i hope so!
neh0.. i've done it too....
precisely
5 exports: syslib, vlfgui, vlflibc, graphicsUtility, vlfutils
functions: 2+102+44+82+11=241!... yes, a lot of functions ;)
bye!
I'll have a deep deep deep look at your code tomorrow...
really well done! thank you.
I think you should release that library... maby with a later m33sdk... i hope so!
neh0.. i've done it too....
precisely
5 exports: syslib, vlfgui, vlflibc, graphicsUtility, vlfutils
functions: 2+102+44+82+11=241!... yes, a lot of functions ;)
bye!
Ciao! from Italy
Ok, I've just rebuilt it to made it works, and it works perfect!
I've try only the Reboot and Shutdown function! ( All the rest of funct is dangerous, I think )
However the code is simple, not impossible to understand as you said!
Thanks moonlight, very good work!
I've try only the Reboot and Shutdown function! ( All the rest of funct is dangerous, I think )
However the code is simple, not impossible to understand as you said!
Thanks moonlight, very good work!
Last edited by ne0h on Sat Dec 20, 2008 12:31 am, edited 1 time in total.
Moonlight, really cool!
I'm in the middle of writing the intraGUI library (reading and decrypting rcos, loading gims and displaying dialogs with the PSP look-and-feel) and boom: everything's here!
Out of curiosity: is the font displaying that much of a pain that you use intraFont?
Again, this is a lot and great work, thanks!
BenHur
I'm in the middle of writing the intraGUI library (reading and decrypting rcos, loading gims and displaying dialogs with the PSP look-and-feel) and boom: everything's here!
Out of curiosity: is the font displaying that much of a pain that you use intraFont?
Again, this is a lot and great work, thanks!
BenHur
yes you are right!, it's quite easy, but there still are a lot of non commented functions, but it's ok anyway!ne0h wrote:Ok, I've just rebuilt it to made it works, and it works perfect!
I've try only the Reboot and Shutdown function! ( All the rest of funct is dangerous, I think )
However the code is simple, not impossible to understand as you say!
Thanks moonlight, very good work!
a question moonlight (or dark_alex, which one do you prefer?:)):
in the crt0.c of the package, you load and start those 3 famous modules(well, really 2 :)), but i notice they are flashed! when where they flashed? with the dc installer? you should include those in the m33 firmware when you think to release the vlf lib. right?
Last edited by phobox on Thu Aug 07, 2008 7:34 am, edited 1 time in total.
Ciao! from Italy
Thanks for this. I had asked the same thing before but got nowhere: http://forums.ps2dev.org/viewtopic.php?t=10586
-
- Posts: 203
- Joined: Sat Jul 05, 2008 8:03 am
I've got a few problems. I hope someone can help me.
1) What is the easiest way to clear the screen after I've drawn several pictures.
Do I have to keep track of the return values of all the pictures I've drawn and manually remove them, or is there some other way to clear everything on the screen? I'm not creating any menus or anything. I'm just initializing the wave and putting some pictures on top.
2) int vlfGuiClonePicture(int pic, int real, int x, int y);
What is "real" supposed to be?
3) Does anyone know offhand how much memory this VLF stuff consumes just to draw the background wave. I'm trying to keep it under 2MB.
1) What is the easiest way to clear the screen after I've drawn several pictures.
Do I have to keep track of the return values of all the pictures I've drawn and manually remove them, or is there some other way to clear everything on the screen? I'm not creating any menus or anything. I'm just initializing the wave and putting some pictures on top.
2) int vlfGuiClonePicture(int pic, int real, int x, int y);
What is "real" supposed to be?
3) Does anyone know offhand how much memory this VLF stuff consumes just to draw the background wave. I'm trying to keep it under 2MB.
1. Well you could use vlfGuiSetRectangleVisibility which still is buggy and doesn't affect all objects, but this won't delete pictures so memory will still be there, probably I will add a function to clear all objects in a rectangle.Torch wrote:I've got a few problems. I hope someone can help me.
1) What is the easiest way to clear the screen after I've drawn several pictures.
Do I have to keep track of the return values of all the pictures I've drawn and manually remove them, or is there some other way to clear everything on the screen? I'm not creating any menus or anything. I'm just initializing the wave and putting some pictures on top.
2) int vlfGuiClonePicture(int pic, int real, int x, int y);
What is "real" supposed to be?
3) Does anyone know offhand how much memory this VLF stuff consumes just to draw the background wave. I'm trying to keep it under 2MB.
2. Real = 1 means that it creates a new independent picture with same data. If real is 0, it just copies references, using less memory.
3. No idea :)
Is there a proper way to terminate & unload the VLF library. I need to load vshmain.prx after my application exits, so I need to be sure that ALL memory is freed, especially for Phat.
And will int vlfGuiAddPicture(void *data, int size, int x, int y); allocate more memory for the picture, or will it directly use *data.
Is it safe to free *data after calling the function??
And will int vlfGuiAddPicture(void *data, int size, int x, int y); allocate more memory for the picture, or will it directly use *data.
Is it safe to free *data after calling the function??
a bug?
if you set the background with vlfGuiSetBackgroundPlane and than you use vlfGuiSetTitleBar, the psp crashes. if you set the background with vlfGuiSetBackgroundDate everything works well. not tried with other functions used to set background.
i found other bugs/errors, i'll post them all together later, because i have to perform some other tests.
anyway, thanks!
i love this lib because i think it's really very very easy to use!
if you set the background with vlfGuiSetBackgroundPlane and than you use vlfGuiSetTitleBar, the psp crashes. if you set the background with vlfGuiSetBackgroundDate everything works well. not tried with other functions used to set background.
i found other bugs/errors, i'll post them all together later, because i have to perform some other tests.
anyway, thanks!
i love this lib because i think it's really very very easy to use!
Ciao! from Italy
Background plane + title bar bugfix: http://www.sendspace.com/file/rp2i1w
It was just a stupid thing.
It was just a stupid thing.
I'm trying to use libpng.
Sorry for the huge list. Didn't know how to eliminate duplicates.
Think its important to support the libpng imports, because we can't afford to store uncompressed images.
Sorry for the huge list. Didn't know how to eliminate duplicates.
Think its important to support the libpng imports, because we can't afford to store uncompressed images.
Code: Select all
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngerror.o): In function `png_warning':
pngerror.c:(.text+0x194): undefined reference to `_impure_ptr'
pngerror.c:(.text+0x194): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngerror.c:(.text+0x1a0): undefined reference to `fprintf'
pngerror.c:(.text+0x1f8): undefined reference to `_impure_ptr'
pngerror.c:(.text+0x1f8): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngerror.c:(.text+0x1fc): undefined reference to `_impure_ptr'
pngerror.c:(.text+0x1fc): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngerror.c:(.text+0x218): undefined reference to `fprintf'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngerror.o): In function `png_error':
pngerror.c:(.text+0x2f4): undefined reference to `_impure_ptr'
pngerror.c:(.text+0x2f4): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngerror.c:(.text+0x304): undefined reference to `fprintf'
pngerror.c:(.text+0x360): undefined reference to `_impure_ptr'
pngerror.c:(.text+0x360): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngerror.c:(.text+0x364): undefined reference to `_impure_ptr'
pngerror.c:(.text+0x364): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngerror.c:(.text+0x37c): undefined reference to `fprintf'
pngerror.c:(.text+0x398): undefined reference to `fprintf'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngget.o): In function `png_get_cHRM':
pngget.c:(.text+0x4a8): undefined reference to `__extendsfdf2'
pngget.c:(.text+0x4c0): undefined reference to `__extendsfdf2'
pngget.c:(.text+0x4d8): undefined reference to `__extendsfdf2'
pngget.c:(.text+0x4f0): undefined reference to `__extendsfdf2'
pngget.c:(.text+0x508): undefined reference to `__extendsfdf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngget.o):pngget.c:(.text+0x520): more undefined references to `__extendsfdf2' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngread.o): In function `png_create_read_struct_2':
pngread.c:(.text+0x21b4): undefined reference to `abort'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrio.o): In function `png_default_read_data':
pngrio.c:(.text+0x8c): undefined reference to `fread'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrtran.o): In function `png_set_gamma':
pngrtran.c:(.text+0x60): undefined reference to `__muldf3'
pngrtran.c:(.text+0x78): undefined reference to `__subdf3'
pngrtran.c:(.text+0x98): undefined reference to `__gtdf2'
pngrtran.c:(.text+0xc8): undefined reference to `__truncdfsf2'
pngrtran.c:(.text+0xd8): undefined reference to `__truncdfsf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrtran.o): In function `png_build_gamma_table':
pngrtran.c:(.text+0x2a78): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x2a90): undefined reference to `__gtdf2'
pngrtran.c:(.text+0x2b1c): undefined reference to `__divdf3'
pngrtran.c:(.text+0x2b4c): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x2b70): undefined reference to `__muldf3'
pngrtran.c:(.text+0x2b7c): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x2be8): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x2c00): undefined reference to `__adddf3'
pngrtran.c:(.text+0x2c18): undefined reference to `__muldf3'
pngrtran.c:(.text+0x2c40): undefined reference to `__muldf3'
pngrtran.c:(.text+0x2c4c): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x2cd0): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x2ce8): undefined reference to `__divdf3'
pngrtran.c:(.text+0x2d80): undefined reference to `__divdf3'
pngrtran.c:(.text+0x2da8): undefined reference to `__muldf3'
pngrtran.c:(.text+0x2dc4): undefined reference to `__adddf3'
pngrtran.c:(.text+0x2dd0): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x2dfc): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x2e18): undefined reference to `__adddf3'
pngrtran.c:(.text+0x2e74): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x2e8c): undefined reference to `__gtdf2'
pngrtran.c:(.text+0x2ecc): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x2ee0): undefined reference to `__divdf3'
pngrtran.c:(.text+0x2f0c): undefined reference to `__muldf3'
pngrtran.c:(.text+0x2f28): undefined reference to `__adddf3'
pngrtran.c:(.text+0x2f34): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x2f68): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x2f80): undefined reference to `__divdf3'
pngrtran.c:(.text+0x2fa8): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x2fbc): undefined reference to `__divdf3'
pngrtran.c:(.text+0x2fe8): undefined reference to `__muldf3'
pngrtran.c:(.text+0x3004): undefined reference to `__adddf3'
pngrtran.c:(.text+0x3010): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3034): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x3054): undefined reference to `__gtdf2'
pngrtran.c:(.text+0x3070): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3094): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x30a8): undefined reference to `__divdf3'
pngrtran.c:(.text+0x30d4): undefined reference to `__muldf3'
pngrtran.c:(.text+0x30f0): undefined reference to `__adddf3'
pngrtran.c:(.text+0x30fc): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x315c): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x3174): undefined reference to `__divdf3'
pngrtran.c:(.text+0x31b4): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x31d4): undefined reference to `__gtdf2'
pngrtran.c:(.text+0x31f0): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3288): undefined reference to `__divdf3'
pngrtran.c:(.text+0x32b0): undefined reference to `__muldf3'
pngrtran.c:(.text+0x32cc): undefined reference to `__adddf3'
pngrtran.c:(.text+0x32d8): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3304): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3320): undefined reference to `__adddf3'
pngrtran.c:(.text+0x33a4): undefined reference to `__divdf3'
pngrtran.c:(.text+0x33cc): undefined reference to `__muldf3'
pngrtran.c:(.text+0x33e8): undefined reference to `__adddf3'
pngrtran.c:(.text+0x33f4): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3420): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x343c): undefined reference to `__adddf3'
pngrtran.c:(.text+0x3468): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x3480): undefined reference to `__divdf3'
pngrtran.c:(.text+0x34bc): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x34d8): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x34fc): undefined reference to `__adddf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrtran.o): In function `png_init_read_transformations':
pngrtran.c:(.text+0x37d4): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x37ec): undefined reference to `__subdf3'
pngrtran.c:(.text+0x380c): undefined reference to `__ltdf2'
pngrtran.c:(.text+0x389c): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x38ec): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3904): undefined reference to `__divdf3'
pngrtran.c:(.text+0x392c): undefined reference to `__muldf3'
pngrtran.c:(.text+0x394c): undefined reference to `__adddf3'
pngrtran.c:(.text+0x3958): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3968): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3980): undefined reference to `__divdf3'
pngrtran.c:(.text+0x39a8): undefined reference to `__muldf3'
pngrtran.c:(.text+0x39bc): undefined reference to `__adddf3'
pngrtran.c:(.text+0x39c8): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x39f4): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3a0c): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3a34): undefined reference to `__muldf3'
pngrtran.c:(.text+0x3a54): undefined reference to `__adddf3'
pngrtran.c:(.text+0x3a60): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3a70): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3a88): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3ab0): undefined reference to `__muldf3'
pngrtran.c:(.text+0x3ac4): undefined reference to `__adddf3'
pngrtran.c:(.text+0x3ad0): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3ae0): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3af8): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3b20): undefined reference to `__muldf3'
pngrtran.c:(.text+0x3b34): undefined reference to `__adddf3'
pngrtran.c:(.text+0x3b40): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3b50): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3b68): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3b90): undefined reference to `__muldf3'
pngrtran.c:(.text+0x3ba4): undefined reference to `__adddf3'
pngrtran.c:(.text+0x3bb0): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3bc0): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3bd8): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3c00): undefined reference to `__muldf3'
pngrtran.c:(.text+0x3c14): undefined reference to `__adddf3'
pngrtran.c:(.text+0x3c20): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3c30): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3c48): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3c70): undefined reference to `__muldf3'
pngrtran.c:(.text+0x3c84): undefined reference to `__adddf3'
pngrtran.c:(.text+0x3c90): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3d78): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x3e50): undefined reference to `__ltdf2'
pngrtran.c:(.text+0x3e78): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3e9c): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3ec4): undefined reference to `__muldf3'
pngrtran.c:(.text+0x3ee4): undefined reference to `__adddf3'
pngrtran.c:(.text+0x3ef0): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3f04): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3f1c): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3f44): undefined reference to `__muldf3'
pngrtran.c:(.text+0x3f58): undefined reference to `__adddf3'
pngrtran.c:(.text+0x3f64): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3f78): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3f90): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3fb8): undefined reference to `__muldf3'
pngrtran.c:(.text+0x3fcc): undefined reference to `__adddf3'
pngrtran.c:(.text+0x3fd8): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x422c): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x424c): undefined reference to `__divdf3'
pngrtran.c:(.text+0x4260): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x4274): undefined reference to `__divdf3'
pngrtran.c:(.text+0x4290): undefined reference to `__adddf3'
pngrtran.c:(.text+0x42ac): undefined reference to `__adddf3'
pngrtran.c:(.text+0x42d0): undefined reference to `__adddf3'
pngrtran.c:(.text+0x42ec): undefined reference to `__adddf3'
pngrtran.c:(.text+0x4308): undefined reference to `__adddf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrtran.o):pngrtran.c:(.text+0x4324): more undefined references to `__adddf3' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrtran.o): In function `png_init_read_transformations':
pngrtran.c:(.text+0x4414): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x4434): undefined reference to `__divdf3'
pngrtran.c:(.text+0x4448): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x445c): undefined reference to `__divdf3'
pngrtran.c:(.text+0x4478): undefined reference to `__subdf3'
pngrtran.c:(.text+0x4494): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x44b8): undefined reference to `__divdf3'
pngrtran.c:(.text+0x44e0): undefined reference to `__muldf3'
pngrtran.c:(.text+0x44fc): undefined reference to `__adddf3'
pngrtran.c:(.text+0x4508): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x451c): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x4534): undefined reference to `__divdf3'
pngrtran.c:(.text+0x455c): undefined reference to `__muldf3'
pngrtran.c:(.text+0x4578): undefined reference to `__adddf3'
pngrtran.c:(.text+0x4584): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x4598): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x45b0): undefined reference to `__divdf3'
pngrtran.c:(.text+0x45d8): undefined reference to `__muldf3'
pngrtran.c:(.text+0x45f4): undefined reference to `__adddf3'
pngrtran.c:(.text+0x4600): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x4618): undefined reference to `__adddf3'
pngrtran.c:(.text+0x4634): undefined reference to `__adddf3'
pngrtran.c:(.text+0x4650): undefined reference to `__adddf3'
pngrtran.c:(.text+0x4664): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x4680): undefined reference to `__adddf3'
pngrtran.c:(.text+0x469c): undefined reference to `__adddf3'
pngrtran.c:(.text+0x46b8): undefined reference to `__adddf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrtran.o): In function `png_set_rgb_to_gray':
pngrtran.c:(.text+0x5b14): undefined reference to `__truncdfsf2'
pngrtran.c:(.text+0x5b1c): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x5b3c): undefined reference to `__muldf3'
pngrtran.c:(.text+0x5b5c): undefined reference to `__adddf3'
pngrtran.c:(.text+0x5b68): undefined reference to `__fixdfsi'
pngrtran.c:(.text+0x5b78): undefined reference to `__truncdfsf2'
pngrtran.c:(.text+0x5b80): undefined reference to `__extendsfdf2'
pngrtran.c:(.text+0x5b94): undefined reference to `__muldf3'
pngrtran.c:(.text+0x5ba8): undefined reference to `__adddf3'
pngrtran.c:(.text+0x5bb4): undefined reference to `__fixdfsi'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrtran.o): In function `png_set_background':
pngrtran.c:(.text+0x5c98): undefined reference to `__truncdfsf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrutil.o): In function `png_handle_sCAL':
pngrutil.c:(.text+0x21f0): undefined reference to `strtod'
pngrutil.c:(.text+0x2234): undefined reference to `strtod'
pngrutil.c:(.text+0x2264): undefined reference to `__ledf2'
pngrutil.c:(.text+0x227c): undefined reference to `__ledf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrutil.o): In function `png_handle_sRGB':
pngrutil.c:(.text+0x3854): undefined reference to `_impure_ptr'
pngrutil.c:(.text+0x3854): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngrutil.c:(.text+0x3864): undefined reference to `fprintf'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrutil.o): In function `png_handle_cHRM':
pngrutil.c:(.text+0x3dc4): undefined reference to `_impure_ptr'
pngrutil.c:(.text+0x3dc4): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngrutil.c:(.text+0x3dcc): undefined reference to `__extendsfdf2'
pngrutil.c:(.text+0x3ddc): undefined reference to `__extendsfdf2'
pngrutil.c:(.text+0x3dec): undefined reference to `__extendsfdf2'
pngrutil.c:(.text+0x3dfc): undefined reference to `__extendsfdf2'
pngrutil.c:(.text+0x3e2c): undefined reference to `fprintf'
pngrutil.c:(.text+0x3e34): undefined reference to `_impure_ptr'
pngrutil.c:(.text+0x3e34): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngrutil.c:(.text+0x3e3c): undefined reference to `__extendsfdf2'
pngrutil.c:(.text+0x3e4c): undefined reference to `__extendsfdf2'
pngrutil.c:(.text+0x3e5c): undefined reference to `__extendsfdf2'
pngrutil.c:(.text+0x3e6c): undefined reference to `__extendsfdf2'
pngrutil.c:(.text+0x3e9c): undefined reference to `fprintf'
pngrutil.c:(.text+0x3edc): undefined reference to `__extendsfdf2'
pngrutil.c:(.text+0x3eec): undefined reference to `__extendsfdf2'
pngrutil.c:(.text+0x3efc): undefined reference to `__extendsfdf2'
pngrutil.c:(.text+0x3f0c): undefined reference to `__extendsfdf2'
pngrutil.c:(.text+0x3f1c): undefined reference to `__extendsfdf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrutil.o):pngrutil.c:(.text+0x3f2c): more undefined references to `__extendsfdf2' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrutil.o): In function `png_handle_gAMA':
pngrutil.c:(.text+0x4298): undefined reference to `_impure_ptr'
pngrutil.c:(.text+0x4298): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngrutil.c:(.text+0x42a8): undefined reference to `fprintf'
pngrutil.c:(.text+0x42e0): undefined reference to `__extendsfdf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o): In function `png_set_gAMA_fixed':
pngset.c:(.text+0x714): undefined reference to `__floatsidf'
pngset.c:(.text+0x72c): undefined reference to `__divdf3'
pngset.c:(.text+0x738): undefined reference to `__truncdfsf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o): In function `png_set_gAMA':
pngset.c:(.text+0x7f4): undefined reference to `__gtdf2'
pngset.c:(.text+0x808): undefined reference to `__truncdfsf2'
pngset.c:(.text+0x824): undefined reference to `__muldf3'
pngset.c:(.text+0x83c): undefined reference to `__adddf3'
pngset.c:(.text+0x848): undefined reference to `__fixdfsi'
pngset.c:(.text+0x86c): undefined reference to `__eqdf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o): In function `png_set_cHRM_fixed':
pngset.c:(.text+0x9b0): undefined reference to `__floatsidf'
pngset.c:(.text+0x9d4): undefined reference to `__gtdf2'
pngset.c:(.text+0x9e4): undefined reference to `__floatsidf'
pngset.c:(.text+0xa08): undefined reference to `__gtdf2'
pngset.c:(.text+0xa18): undefined reference to `__floatsidf'
pngset.c:(.text+0xa3c): undefined reference to `__gtdf2'
pngset.c:(.text+0xa4c): undefined reference to `__floatsidf'
pngset.c:(.text+0xa70): undefined reference to `__gtdf2'
pngset.c:(.text+0xa80): undefined reference to `__floatsidf'
pngset.c:(.text+0xaa4): undefined reference to `__gtdf2'
pngset.c:(.text+0xab4): undefined reference to `__floatsidf'
pngset.c:(.text+0xad8): undefined reference to `__gtdf2'
pngset.c:(.text+0xae8): undefined reference to `__floatsidf'
pngset.c:(.text+0xb0c): undefined reference to `__gtdf2'
pngset.c:(.text+0xb1c): undefined reference to `__floatsidf'
pngset.c:(.text+0xb40): undefined reference to `__gtdf2'
pngset.c:(.text+0xb88): undefined reference to `__divdf3'
pngset.c:(.text+0xb94): undefined reference to `__truncdfsf2'
pngset.c:(.text+0xbb4): undefined reference to `__divdf3'
pngset.c:(.text+0xbc0): undefined reference to `__truncdfsf2'
pngset.c:(.text+0xbe0): undefined reference to `__divdf3'
pngset.c:(.text+0xbec): undefined reference to `__truncdfsf2'
pngset.c:(.text+0xc0c): undefined reference to `__divdf3'
pngset.c:(.text+0xc18): undefined reference to `__truncdfsf2'
pngset.c:(.text+0xc38): undefined reference to `__divdf3'
pngset.c:(.text+0xc44): undefined reference to `__truncdfsf2'
pngset.c:(.text+0xc64): undefined reference to `__divdf3'
pngset.c:(.text+0xc70): undefined reference to `__truncdfsf2'
pngset.c:(.text+0xc90): undefined reference to `__divdf3'
pngset.c:(.text+0xc9c): undefined reference to `__truncdfsf2'
pngset.c:(.text+0xcbc): undefined reference to `__divdf3'
pngset.c:(.text+0xcc8): undefined reference to `__truncdfsf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o): In function `png_set_cHRM':
pngset.c:(.text+0xe30): undefined reference to `__ltdf2'
pngset.c:(.text+0xe48): undefined reference to `__ltdf2'
pngset.c:(.text+0xe60): undefined reference to `__ltdf2'
pngset.c:(.text+0xe78): undefined reference to `__ltdf2'
pngset.c:(.text+0xe90): undefined reference to `__ltdf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o):pngset.c:(.text+0xea8): more undefined references to `__ltdf2' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o): In function `png_set_cHRM':
pngset.c:(.text+0xef8): undefined reference to `__gtdf2'
pngset.c:(.text+0xf18): undefined reference to `__gtdf2'
pngset.c:(.text+0xf3c): undefined reference to `__gtdf2'
pngset.c:(.text+0xf60): undefined reference to `__gtdf2'
pngset.c:(.text+0xf84): undefined reference to `__gtdf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o):pngset.c:(.text+0xfa8): more undefined references to `__gtdf2' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o): In function `png_set_cHRM':
pngset.c:(.text+0x1004): undefined reference to `__truncdfsf2'
pngset.c:(.text+0x1014): undefined reference to `__truncdfsf2'
pngset.c:(.text+0x1024): undefined reference to `__truncdfsf2'
pngset.c:(.text+0x1034): undefined reference to `__truncdfsf2'
pngset.c:(.text+0x1044): undefined reference to `__truncdfsf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o):pngset.c:(.text+0x1054): more undefined references to `__truncdfsf2' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o): In function `png_set_cHRM':
pngset.c:(.text+0x1098): undefined reference to `__muldf3'
pngset.c:(.text+0x10b8): undefined reference to `__adddf3'
pngset.c:(.text+0x10c4): undefined reference to `__fixdfsi'
pngset.c:(.text+0x10dc): undefined reference to `__muldf3'
pngset.c:(.text+0x10f0): undefined reference to `__adddf3'
pngset.c:(.text+0x10fc): undefined reference to `__fixdfsi'
pngset.c:(.text+0x1114): undefined reference to `__muldf3'
pngset.c:(.text+0x1128): undefined reference to `__adddf3'
pngset.c:(.text+0x1134): undefined reference to `__fixdfsi'
pngset.c:(.text+0x114c): undefined reference to `__muldf3'
pngset.c:(.text+0x1160): undefined reference to `__adddf3'
pngset.c:(.text+0x116c): undefined reference to `__fixdfsi'
pngset.c:(.text+0x1184): undefined reference to `__muldf3'
pngset.c:(.text+0x1198): undefined reference to `__adddf3'
pngset.c:(.text+0x11a4): undefined reference to `__fixdfsi'
pngset.c:(.text+0x11bc): undefined reference to `__muldf3'
pngset.c:(.text+0x11d0): undefined reference to `__adddf3'
pngset.c:(.text+0x11dc): undefined reference to `__fixdfsi'
pngset.c:(.text+0x11f4): undefined reference to `__muldf3'
pngset.c:(.text+0x1208): undefined reference to `__adddf3'
pngset.c:(.text+0x1214): undefined reference to `__fixdfsi'
pngset.c:(.text+0x122c): undefined reference to `__muldf3'
pngset.c:(.text+0x1240): undefined reference to `__adddf3'
pngset.c:(.text+0x124c): undefined reference to `__fixdfsi'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-w_pow.o): In function `pow':
../../../../../newlib/libm/math/w_pow.c:108: undefined reference to `__eqdf2'
../../../../../newlib/libm/math/w_pow.c:109: undefined reference to `__eqdf2'
../../../../../newlib/libm/math/w_pow.c:88: undefined reference to `__eqdf2'
../../../../../newlib/libm/math/w_pow.c:210: undefined reference to `__errno'
../../../../../newlib/libm/math/w_pow.c:126: undefined reference to `__ltdf2'
../../../../../newlib/libm/math/w_pow.c:164: undefined reference to `__errno'
../../../../../newlib/libm/math/w_pow.c:196: undefined reference to `__eqdf2'
../../../../../newlib/libm/math/w_pow.c:207: undefined reference to `__errno'
../../../../../newlib/libm/math/w_pow.c:160: undefined reference to `__divdf3'
../../../../../newlib/libm/math/w_pow.c:179: undefined reference to `__ltdf2'
../../../../../newlib/libm/math/w_pow.c:178: undefined reference to `__muldf3'
../../../../../newlib/libm/math/w_pow.c:179: undefined reference to `__nedf2'
../../../../../newlib/libm/math/w_pow.c:183: undefined reference to `__ltdf2'
../../../../../newlib/libm/math/w_pow.c:182: undefined reference to `__muldf3'
../../../../../newlib/libm/math/w_pow.c:183: undefined reference to `__nedf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-e_pow.o): In function `__ieee754_pow':
../../../../../newlib/libm/math/e_pow.c:123: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:186: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:186: undefined reference to `__divdf3'
../../../../../newlib/libm/math/e_pow.c:149: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:191: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:222: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:223: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:223: undefined reference to `__divdf3'
../../../../../newlib/libm/math/e_pow.c:224: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:231: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:231: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:231: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:231: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:231: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:231: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:231: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:233: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:234: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:234: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:234: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:234: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:234: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:234: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:234: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:234: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:234: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:234: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:234: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:234: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:235: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:235: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:235: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:236: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:238: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:238: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:241: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:242: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:242: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:242: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:242: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:242: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:242: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:245: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:247: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:248: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:248: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:248: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:248: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:248: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:248: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:250: undefined reference to `__floatsidf'
../../../../../newlib/libm/math/e_pow.c:252: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:252: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:252: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:253: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:253: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:253: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:253: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:263: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:263: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:263: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:263: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:264: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:265: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:271: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:271: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:271: undefined reference to `__gtdf2'
../../../../../newlib/libm/math/e_pow.c:297: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:298: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:298: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:298: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:298: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:298: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:299: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:300: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:300: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:301: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:302: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:302: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:302: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:302: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:302: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:302: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:302: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:302: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:302: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:302: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:304: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:304: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:304: undefined reference to `__divdf3'
../../../../../newlib/libm/math/e_pow.c:304: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:304: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:304: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:304: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:304: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:309: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:277: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:277: undefined reference to `__ledf2'
../../../../../newlib/libm/math/e_pow.c:277: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:277: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:211: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:170: undefined reference to `__divdf3'
../../../../../newlib/libm/math/e_pow.c:199: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:201: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:202: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:202: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:202: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:202: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:202: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:202: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:202: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:202: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_pow.c:202: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:204: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_pow.c:205: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:156: undefined reference to `__divdf3'
../../../../../newlib/libm/math/e_pow.c:293: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:293: undefined reference to `__adddf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-e_sqrt.o): In function `__ieee754_sqrt':
../../../../../newlib/libm/math/e_sqrt.c:110: undefined reference to `__muldf3'
../../../../../newlib/libm/math/e_sqrt.c:110: undefined reference to `__adddf3'
../../../../../newlib/libm/math/e_sqrt.c:117: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_sqrt.c:117: undefined reference to `__divdf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-s_rint.o): In function `rint':
../../../../../newlib/libm/common/s_rint.c:83: undefined reference to `__adddf3'
../../../../../newlib/libm/common/s_rint.c:84: undefined reference to `__subdf3'
../../../../../newlib/libm/common/s_rint.c:74: undefined reference to `__adddf3'
../../../../../newlib/libm/common/s_rint.c:59: undefined reference to `__adddf3'
../../../../../newlib/libm/common/s_rint.c:60: undefined reference to `__subdf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-s_scalbn.o): In function `scalbn':
../../../../../newlib/libm/common/s_scalbn.c:84: undefined reference to `__muldf3'
../../../../../newlib/libm/common/s_scalbn.c:87: undefined reference to `__muldf3'
../../../../../newlib/libm/common/s_scalbn.c:89: undefined reference to `__adddf3'
../../../../../newlib/libm/common/s_scalbn.c:97: undefined reference to `__muldf3'
../../../../../newlib/libm/common/s_scalbn.c:101: undefined reference to `__muldf3'
collect2: ld returned 1 exit status
make: *** [vshmain.elf] Error 1
Execution terminated
Heres are the functions that use libpng in case you need to test.
http://www.sendspace.com/file/6x20fg
http://www.sendspace.com/file/6x20fg
moonlight wrote:Can you show me your makefile? It is possible that some of the undefined reference are caused by incorrect order, while there are anyways some that are not there.
Code: Select all
TARGET = vshmain
OBJS = crt0.o main.o graphics.o
INCDIR = ./include
CFLAGS = -O2 -G0 -Wall -fshort-wchar -fno-pic -mno-check-zero-division
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS) -c
LIBDIR = ./lib
LDFLAGS = -mno-crt0 -nostdlib -nodefaultlibs
LIBS = -lvlfgui -lvlfgu -lvlfutils -lvlflibc -lpspkubridge -lpng -lz -lm
PSP_FW_VERSION = 150
BUILD_PRX = 1
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = PasswordVLF
#PSP_EBOOT_ICON="icon0.png"
#PSP_EBOOT_PIC1="pic1.png"
#PSP_EBOOT_SND0="snd0.at3"
PSPSDK=$(shell psp-config --pspsdk-path)
include ./build.mak
moonlight wrote:Try to put -lpng -lz -lm before -lvlflibc . It should reduce the number of undefined references,
Code: Select all
TARGET = vshmain
OBJS = crt0.o main.o graphics.o
INCDIR = ./include
CFLAGS = -O2 -G0 -Wall -fshort-wchar -fno-pic -mno-check-zero-division
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS) -c
LIBDIR = ./lib
LDFLAGS = -mno-crt0 -nostdlib -nodefaultlibs
LIBS = -lvlfgui -lvlfgu -lvlfutils -lpng -lz -lm -lvlflibc -lpspkubridge
PSP_FW_VERSION = 150
BUILD_PRX = 1
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = PasswordVLF
#PSP_EBOOT_ICON="icon0.png"
#PSP_EBOOT_PIC1="pic1.png"
#PSP_EBOOT_SND0="snd0.at3"
PSPSDK=$(shell psp-config --pspsdk-path)
include ./build.mak
Code: Select all
Compiler: PSP
Executing make...
make.exe -f "Makefile" all
psp-gcc -I./include -I. -I/usr/local/pspdev/psp/sdk/include -O2 -G0 -Wall -fshort-wchar -fno-pic -mno-check-zero-division -D_PSP_FW_VERSION=150 -L./lib -L. -L/usr/local/pspdev/psp/sdk/lib -specs=/usr/local/pspdev/psp/sdk/lib/prxspecs -Wl,-q,-T/usr/local/pspdev/psp/sdk/lib/linkfile.prx -mno-crt0 -nostdlib -nodefaultlibs crt0.o main.o graphics.o /usr/local/pspdev/psp/sdk/lib/prxexports.o -lvlfgui -lvlfgu -lvlfutils -lpng -lz -lm -lvlflibc -lpspkubridge -lpspdisplay -lpspge -lpspctrl -lpspsdk -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o vshmain.elf
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngerror.o): In function `png_warning':
pngerror.c:(.text+0x194): undefined reference to `_impure_ptr'
pngerror.c:(.text+0x194): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngerror.c:(.text+0x1f8): undefined reference to `_impure_ptr'
pngerror.c:(.text+0x1f8): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngerror.c:(.text+0x1fc): undefined reference to `_impure_ptr'
pngerror.c:(.text+0x1fc): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngerror.o): In function `png_error':
pngerror.c:(.text+0x2f4): undefined reference to `_impure_ptr'
pngerror.c:(.text+0x2f4): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngerror.c:(.text+0x360): undefined reference to `_impure_ptr'
pngerror.c:(.text+0x360): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngerror.o):pngerror.c:(.text+0x364): more undefined references to `_impure_ptr' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngerror.o): In function `png_error':
pngerror.c:(.text+0x364): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngread.o): In function `png_create_read_struct_2':
pngread.c:(.text+0x21b4): undefined reference to `abort'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrtran.o): In function `png_set_gamma':
pngrtran.c:(.text+0x78): undefined reference to `__subdf3'
pngrtran.c:(.text+0x98): undefined reference to `__gtdf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrtran.o): In function `png_build_gamma_table':
pngrtran.c:(.text+0x2a90): undefined reference to `__gtdf2'
pngrtran.c:(.text+0x2b1c): undefined reference to `__divdf3'
pngrtran.c:(.text+0x2b4c): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x2b7c): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x2be8): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x2c4c): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x2ce8): undefined reference to `__divdf3'
pngrtran.c:(.text+0x2d80): undefined reference to `__divdf3'
pngrtran.c:(.text+0x2dd0): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x2dfc): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x2e8c): undefined reference to `__gtdf2'
pngrtran.c:(.text+0x2ecc): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x2ee0): undefined reference to `__divdf3'
pngrtran.c:(.text+0x2f34): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x2f80): undefined reference to `__divdf3'
pngrtran.c:(.text+0x2fa8): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x2fbc): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3010): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3054): undefined reference to `__gtdf2'
pngrtran.c:(.text+0x3070): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3094): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x30a8): undefined reference to `__divdf3'
pngrtran.c:(.text+0x30fc): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3174): undefined reference to `__divdf3'
pngrtran.c:(.text+0x31d4): undefined reference to `__gtdf2'
pngrtran.c:(.text+0x31f0): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3288): undefined reference to `__divdf3'
pngrtran.c:(.text+0x32d8): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3304): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x33a4): undefined reference to `__divdf3'
pngrtran.c:(.text+0x33f4): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3420): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3480): undefined reference to `__divdf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrtran.o): In function `png_init_read_transformations':
pngrtran.c:(.text+0x37ec): undefined reference to `__subdf3'
pngrtran.c:(.text+0x380c): undefined reference to `__ltdf2'
pngrtran.c:(.text+0x389c): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x38ec): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3904): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3958): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3968): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3980): undefined reference to `__divdf3'
pngrtran.c:(.text+0x39c8): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x39f4): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3a0c): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3a60): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3a70): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3a88): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3ad0): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3ae0): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3af8): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3b40): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3b50): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3b68): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3bb0): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3bc0): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3bd8): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3c20): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3c30): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3c48): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3c90): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3e50): undefined reference to `__ltdf2'
pngrtran.c:(.text+0x3e78): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3e9c): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3ef0): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3f04): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3f1c): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3f64): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x3f78): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x3f90): undefined reference to `__divdf3'
pngrtran.c:(.text+0x3fd8): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x424c): undefined reference to `__divdf3'
pngrtran.c:(.text+0x4274): undefined reference to `__divdf3'
pngrtran.c:(.text+0x4434): undefined reference to `__divdf3'
pngrtran.c:(.text+0x445c): undefined reference to `__divdf3'
pngrtran.c:(.text+0x4478): undefined reference to `__subdf3'
pngrtran.c:(.text+0x4494): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x44b8): undefined reference to `__divdf3'
pngrtran.c:(.text+0x4508): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x451c): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x4534): undefined reference to `__divdf3'
pngrtran.c:(.text+0x4584): undefined reference to `__fixunsdfsi'
pngrtran.c:(.text+0x4598): undefined reference to `__floatsidf'
pngrtran.c:(.text+0x45b0): undefined reference to `__divdf3'
pngrtran.c:(.text+0x4600): undefined reference to `__fixunsdfsi'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrtran.o): In function `png_set_rgb_to_gray':
pngrtran.c:(.text+0x5b68): undefined reference to `__fixdfsi'
pngrtran.c:(.text+0x5bb4): undefined reference to `__fixdfsi'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrutil.o): In function `png_handle_sCAL':
pngrutil.c:(.text+0x21f0): undefined reference to `strtod'
pngrutil.c:(.text+0x2234): undefined reference to `strtod'
pngrutil.c:(.text+0x2264): undefined reference to `__ledf2'
pngrutil.c:(.text+0x227c): undefined reference to `__ledf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrutil.o): In function `png_handle_sRGB':
pngrutil.c:(.text+0x3854): undefined reference to `_impure_ptr'
pngrutil.c:(.text+0x3854): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrutil.o): In function `png_handle_cHRM':
pngrutil.c:(.text+0x3dc4): undefined reference to `_impure_ptr'
pngrutil.c:(.text+0x3dc4): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
pngrutil.c:(.text+0x3e34): undefined reference to `_impure_ptr'
pngrutil.c:(.text+0x3e34): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngrutil.o): In function `png_handle_gAMA':
pngrutil.c:(.text+0x4298): undefined reference to `_impure_ptr'
pngrutil.c:(.text+0x4298): relocation truncated to fit: R_MIPS_GPREL16 against `_impure_ptr'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o): In function `png_set_gAMA_fixed':
pngset.c:(.text+0x714): undefined reference to `__floatsidf'
pngset.c:(.text+0x72c): undefined reference to `__divdf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o): In function `png_set_gAMA':
pngset.c:(.text+0x7f4): undefined reference to `__gtdf2'
pngset.c:(.text+0x848): undefined reference to `__fixdfsi'
pngset.c:(.text+0x86c): undefined reference to `__eqdf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o): In function `png_set_cHRM_fixed':
pngset.c:(.text+0x9b0): undefined reference to `__floatsidf'
pngset.c:(.text+0x9d4): undefined reference to `__gtdf2'
pngset.c:(.text+0x9e4): undefined reference to `__floatsidf'
pngset.c:(.text+0xa08): undefined reference to `__gtdf2'
pngset.c:(.text+0xa18): undefined reference to `__floatsidf'
pngset.c:(.text+0xa3c): undefined reference to `__gtdf2'
pngset.c:(.text+0xa4c): undefined reference to `__floatsidf'
pngset.c:(.text+0xa70): undefined reference to `__gtdf2'
pngset.c:(.text+0xa80): undefined reference to `__floatsidf'
pngset.c:(.text+0xaa4): undefined reference to `__gtdf2'
pngset.c:(.text+0xab4): undefined reference to `__floatsidf'
pngset.c:(.text+0xad8): undefined reference to `__gtdf2'
pngset.c:(.text+0xae8): undefined reference to `__floatsidf'
pngset.c:(.text+0xb0c): undefined reference to `__gtdf2'
pngset.c:(.text+0xb1c): undefined reference to `__floatsidf'
pngset.c:(.text+0xb40): undefined reference to `__gtdf2'
pngset.c:(.text+0xb88): undefined reference to `__divdf3'
pngset.c:(.text+0xbb4): undefined reference to `__divdf3'
pngset.c:(.text+0xbe0): undefined reference to `__divdf3'
pngset.c:(.text+0xc0c): undefined reference to `__divdf3'
pngset.c:(.text+0xc38): undefined reference to `__divdf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o):pngset.c:(.text+0xc64): more undefined references to `__divdf3' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o): In function `png_set_cHRM':
pngset.c:(.text+0xe30): undefined reference to `__ltdf2'
pngset.c:(.text+0xe48): undefined reference to `__ltdf2'
pngset.c:(.text+0xe60): undefined reference to `__ltdf2'
pngset.c:(.text+0xe78): undefined reference to `__ltdf2'
pngset.c:(.text+0xe90): undefined reference to `__ltdf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o):pngset.c:(.text+0xea8): more undefined references to `__ltdf2' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o): In function `png_set_cHRM':
pngset.c:(.text+0xef8): undefined reference to `__gtdf2'
pngset.c:(.text+0xf18): undefined reference to `__gtdf2'
pngset.c:(.text+0xf3c): undefined reference to `__gtdf2'
pngset.c:(.text+0xf60): undefined reference to `__gtdf2'
pngset.c:(.text+0xf84): undefined reference to `__gtdf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o):pngset.c:(.text+0xfa8): more undefined references to `__gtdf2' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o): In function `png_set_cHRM':
pngset.c:(.text+0x10c4): undefined reference to `__fixdfsi'
pngset.c:(.text+0x10fc): undefined reference to `__fixdfsi'
pngset.c:(.text+0x1134): undefined reference to `__fixdfsi'
pngset.c:(.text+0x116c): undefined reference to `__fixdfsi'
pngset.c:(.text+0x11a4): undefined reference to `__fixdfsi'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libpng.a(pngset.o):pngset.c:(.text+0x11dc): more undefined references to `__fixdfsi' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-w_pow.o): In function `pow':
../../../../../newlib/libm/math/w_pow.c:108: undefined reference to `__eqdf2'
../../../../../newlib/libm/math/w_pow.c:109: undefined reference to `__eqdf2'
../../../../../newlib/libm/math/w_pow.c:88: undefined reference to `__eqdf2'
../../../../../newlib/libm/math/w_pow.c:210: undefined reference to `__errno'
../../../../../newlib/libm/math/w_pow.c:126: undefined reference to `__ltdf2'
../../../../../newlib/libm/math/w_pow.c:164: undefined reference to `__errno'
../../../../../newlib/libm/math/w_pow.c:196: undefined reference to `__eqdf2'
../../../../../newlib/libm/math/w_pow.c:207: undefined reference to `__errno'
../../../../../newlib/libm/math/w_pow.c:160: undefined reference to `__divdf3'
../../../../../newlib/libm/math/w_pow.c:179: undefined reference to `__ltdf2'
../../../../../newlib/libm/math/w_pow.c:179: undefined reference to `__nedf2'
../../../../../newlib/libm/math/w_pow.c:183: undefined reference to `__ltdf2'
../../../../../newlib/libm/math/w_pow.c:183: undefined reference to `__nedf2'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-e_pow.o): In function `__ieee754_pow':
../../../../../newlib/libm/math/e_pow.c:186: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:186: undefined reference to `__divdf3'
../../../../../newlib/libm/math/e_pow.c:149: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:222: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:223: undefined reference to `__divdf3'
../../../../../newlib/libm/math/e_pow.c:231: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:231: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:231: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:231: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:242: undefined reference to `__subdf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-e_pow.o):../../../../../newlib/libm/math/e_pow.c:242: more undefined references to `__subdf3' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-e_pow.o): In function `__ieee754_pow':
../../../../../newlib/libm/math/e_pow.c:250: undefined reference to `__floatsidf'
../../../../../newlib/libm/math/e_pow.c:253: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:253: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:253: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:253: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:263: undefined reference to `__subdf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-e_pow.o):../../../../../newlib/libm/math/e_pow.c:271: more undefined references to `__subdf3' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-e_pow.o): In function `__ieee754_pow':
../../../../../newlib/libm/math/e_pow.c:271: undefined reference to `__gtdf2'
../../../../../newlib/libm/math/e_pow.c:298: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:298: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:300: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:300: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:302: undefined reference to `__subdf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-e_pow.o):../../../../../newlib/libm/math/e_pow.c:302: more undefined references to `__subdf3' follow
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-e_pow.o): In function `__ieee754_pow':
../../../../../newlib/libm/math/e_pow.c:304: undefined reference to `__divdf3'
../../../../../newlib/libm/math/e_pow.c:304: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:304: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:304: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:277: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:277: undefined reference to `__ledf2'
../../../../../newlib/libm/math/e_pow.c:170: undefined reference to `__divdf3'
../../../../../newlib/libm/math/e_pow.c:199: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:202: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:205: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_pow.c:156: undefined reference to `__divdf3'
../../../../../newlib/libm/math/e_pow.c:293: undefined reference to `__subdf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-e_sqrt.o): In function `__ieee754_sqrt':
../../../../../newlib/libm/math/e_sqrt.c:117: undefined reference to `__subdf3'
../../../../../newlib/libm/math/e_sqrt.c:117: undefined reference to `__divdf3'
/usr/local/pspdev/lib/gcc/psp/4.1.0/../../../../psp/lib/libm.a(lib_a-s_rint.o): In function `rint':
../../../../../newlib/libm/common/s_rint.c:84: undefined reference to `__subdf3'
../../../../../newlib/libm/common/s_rint.c:60: undefined reference to `__subdf3'
collect2: ld returned 1 exit status
make: *** [vshmain.elf] Error 1
Execution terminated