Discuss the development of new homebrew software, tools and libraries.
	Moderators:  cheriff , TyRaNiD 
			
		
		
			
				
																			
								sakya 							 
									
		Posts:  190 Joined:  Fri Apr 28, 2006 5:48 pm
				Contact: 
				
			 
				
		 
		
						
					
													
							
						
									
						Post 
					 
								by sakya  Fri Aug 07, 2009 8:00 pm 
			
			
			
			
			Hi! :)
I receive this warning when compiling a project:
Code: Select all 
Warning: setting incorrect section attributes for .rodata.sceModuleInfo
This is how module info is set:
Code: Select all 
#define VERS    2
#define REVS    52
PSP_MODULE_INFO("StacklessPython", 0, VERS, REVS);
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER|PSP_THREAD_ATTR_VFPU);
PSP_HEAP_SIZE_KB(-1024);    /* Leave 1024k to OS, rest to app */
PSP_MAIN_THREAD_STACK_SIZE_KB(64);
I updated the pspsdk, but the warning is still present.
Do someone knows what this warning means and what can cause it?
Many thanks
ciaooo
sakya
 
		 
				
		
		 
	 
				
		
		
			
				
																			
								ab5000 							 
									
		Posts:  74 Joined:  Tue May 06, 2008 2:37 am 
		
						
					
													
							
						
									
						Post 
					 
								by ab5000  Fri Aug 07, 2009 8:08 pm 
			
			
			
			
			can you post your makefile and the .S file causing the error?
			
			
									
									Code: Select all 
%:include<stdio.h>
int _(int __,int ___,int ____,int _____)
<%for(;____<___;_____=_____*__,____++);
return _____;%>main()<%printf
("%d\n",_(2,5,0,1));%> 
		 
				
		
		 
	 
				
		
		
			
				
																			
								sakya 							 
									
		Posts:  190 Joined:  Fri Apr 28, 2006 5:48 pm
				Contact: 
				
			 
				
		 
		
						
					
						 
													
							
						
									
						Post 
					 
								by sakya  Fri Aug 07, 2009 8:12 pm 
			
			
			
			
			Hi! :)
Sure:
Code: Select all 
# Default build: psp2d, pspnet, pspsnd
# If using OSLIB disable PSP2D and PSPSND
# If using OSLIB MOD disable PSP2D and PSPSND, enable OSLIB and OSLIB_MOD
#
# The exception handler is useful only while developing and testing the interpreter.
# To enable it set to 1 WITH_EXPCETION_HANDLER, build the prx in exceptionhandler\prx and copy
# exception.prx to the PSP with the Stackless EBOOT.PBP
WITH_PSP2D = 0
WITH_PSPSND = 0
WITH_PSPNET = 1
WITH_OSLIB = 1
WITH_OSLIB_MOD = 1
WITH_SQLITE = 0
WITH_PSPOGG = 0
WITH_PSPMP3 = 1
WITH_EXPCETION_HANDLER = 1
WITH_SSL = 0     # SSL not working yet
include Makefile.baseCode: Select all 
TARGET = StacklessPSP
BUILD_PRX = 1
PSP_LARGE_MEMORY = 1
PSP_FW_VERSION = 371
RELEASE_NAME = StacklessPSP
RELEASE_VERSION = 2.5.2
RELEASE_DIRECTORY = ../../$(RELEASE_NAME)-$(RELEASE_VERSION)
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Stackless PyPSP 2.5.2
PSP_EBOOT_ICON = icon_slp252.png
#PSP_EBOOT_UNKPNG = pic0.png
#PSP_EBOOT_PIC1 = pic1.png
#PSP_EBOOT_SND0 = snd0.at3
MODULES_STATIC = \
	Modules/config.o \
	Modules/pspos.o \
	../Modules/main.o \
	../Modules/getbuildinfo.o \
	../Modules/gcmodule.o \
	../Modules/getpath.o \
	../Modules/timemodule.o \
	../Modules/mathmodule.o \
	../Modules/_struct.o \
	../Modules/binascii.o \
	../Modules/_randommodule.o \
	../Modules/_sre.o \
	../Modules/cStringIO.o \
	../Modules/_typesmodule.o \
	../Modules/errnomodule.o \
	../Modules/threadmodule.o \
	../Modules/collectionsmodule.o \
	../Modules/md5module.o \
	../Modules/md5.o \
	../Modules/socketmodule.o \
	../Modules/selectmodule.o \
	../Modules/pspsocket.o \
	../Modules/zipimport.o \
	../Modules/shamodule.o \
	../Modules/sha256module.o \
	../Modules/sha512module.o \
	../Modules/_codecsmodule.o \
	../Modules/datetimemodule.o \
	../Modules/_bisectmodule.o \
	../Modules/_csv.o \
	../Modules/_heapqmodule.o \
	../Modules/_weakref.o \
	../Modules/arraymodule.o \
	../Modules/audioop.o \
	../Modules/cPickle.o \
	../Modules/cmathmodule.o \
	../Modules/itertoolsmodule.o \
	../Modules/operator.o \
	../Modules/parsermodule.o \
	../Modules/symtablemodule.o \
	../Modules/timingmodule.o \
	../Modules/unicodedata.o \
	../Modules/zlibmodule.o \
    ../Modules/stropmodule.o \
	../Modules/_localemodule.o \
	../Modules/pyexpat.o \
	../Modules/expat/xmlparse.o \
	../Modules/expat/xmlrole.o \
	../Modules/expat/xmltok.o \
	../Modules/_elementtree.o \
	../Modules/_functoolsmodule.o \
	../Modules/bz2module.o \
OBJECTS_PYTHON = \
    ../Python/ast.o \
    ../Python/Python-ast.o \
    ../Python/asdl.o \
    ../Python/atof.o \
    ../Python/pyarena.o \
	../Python/traceback.o \
	../Python/sysmodule.o \
	../Python/structmember.o \
	../Python/strdup.o \
	../Python/sigcheck.o \
	../Python/pythonrun.o \
	../Python/pystate.o \
	../Python/pyfpe.o \
	../Python/mystrtoul.o \
	../Python/mysnprintf.o \
	../Python/modsupport.o \
	../Python/marshal.o \
	../Python/importdl.o \
	../Python/import.o \
	../Python/graminit.o \
	../Python/getversion.o \
	../Python/getplatform.o \
	../Python/getopt.o \
	../Python/getcopyright.o \
	../Python/getcompiler.o \
	../Python/getargs.o \
	../Python/frozenmain.o \
	../Python/frozen.o \
	../Python/errors.o \
	../Python/compile.o \
	../Python/ceval.o \
	../Python/bltinmodule.o \
	../Python/codecs.o \
	../Python/symtable.o \
	../Python/future.o \
	../Python/dynload_stub.o \
	../Python/pystrtod.o \
	../Python/thread.o \
	../Python/getmtime.o
OBJECTS_OBJECTS = \
	../Objects/typeobject.o \
	../Objects/tupleobject.o \
	../Objects/stringobject.o \
	../Objects/sliceobject.o \
	../Objects/rangeobject.o \
	../Objects/object.o \
	../Objects/obmalloc.o \
	../Objects/moduleobject.o \
	../Objects/methodobject.o \
	../Objects/longobject.o \
	../Objects/listobject.o \
	../Objects/intobject.o \
	../Objects/boolobject.o \
	../Objects/iterobject.o \
	../Objects/funcobject.o \
	../Objects/frameobject.o \
	../Objects/floatobject.o \
	../Objects/fileobject.o \
	../Objects/enumobject.o \
	../Objects/dictobject.o \
	../Objects/complexobject.o \
	../Objects/cobject.o \
	../Objects/classobject.o \
	../Objects/cellobject.o \
	../Objects/bufferobject.o \
	../Objects/abstract.o \
	../Objects/unicodectype.o \
	../Objects/unicodeobject.o \
	../Objects/descrobject.o \
	../Objects/weakrefobject.o \
	../Objects/structseq.o \
	../Objects/setobject.o \
	../Objects/exceptions.o \
	../Objects/genobject.o \
	../Objects/codeobject.o
OBJECTS_PARSER = \
	../Parser/tokenizer.o \
	../Parser/printgrammar.o \
	../Parser/parsetok.o \
	../Parser/parser.o \
	../Parser/node.o \
	../Parser/myreadline.o \
	../Parser/metagrammar.o \
	../Parser/listnode.o \
	../Parser/intrcheck.o \
	../Parser/grammar1.o \
	../Parser/grammar.o \
	../Parser/firstsets.o \
	../Parser/bitset.o \
	../Parser/acceler.o
OBJS_STACKLESS = ../Stackless/core/cframeobject.o \
	../Stackless/core/slp_transfer.o \
	../Stackless/core/stackless_util.o \
	../Stackless/core/stacklesseval.o \
	../Stackless/module/channelobject.o \
	../Stackless/module/flextype.o \
	../Stackless/module/scheduling.o \
	../Stackless/module/stacklessmodule.o \
	../Stackless/module/taskletobject.o \
	../Stackless/pickling/prickelpit.o \
	../Stackless/pickling/safe_pickle.o
OBJS_SQLITE = ../Modules/_sqlite/cache.o \
              ../Modules/_sqlite/connection.o \
              ../Modules/_sqlite/cursor.o \
              ../Modules/_sqlite/microprotocols.o \
              ../Modules/_sqlite/module.o \
              ../Modules/_sqlite/prepare_protocol.o \
              ../Modules/_sqlite/row.o \
              ../Modules/_sqlite/statement.o \
              ../Modules/_sqlite/util.o
OBJS_PSP2D = psp2d/psp2d.o \
	psp2d/controller.o \
	psp2d/screen.o \
	psp2d/timer.o \
	../../pymaging/color.o \
	../../pymaging/filters.o \
	../../pymaging/font.o \
	../../pymaging/image.o \
	../../pymaging/main.o \
	../../pymaging/mask.o \
	../../pymaging/transform.o
OBJS_PSPSND = \
	pspsnd/pspsnd.o \
	pspsnd/sound.o \
	pspsnd/music.o
OBJS_PSPNET = pspnet/pspnet.o
OBJS_OSLIB = osl/osl.o osl/image.o osl/ctrl.o osl/sound.o osl/map.o osl/font.o
OBJS_OSLIB_MOD = osl/sfont.o
OBJS_EXCEPTION_HANDLER = exceptionhandler/exception.o
OBJS_PSPOGG = pspogg/oggplayer.o pspogg/pspogg.o
OBJS_PSPMP3 = pspmp3/MusicEngine.o pspmp3/pspmp3.o
OBJS_SSL = ../Modules/_ssl.o \
           ../Modules/_hashopenssl.o
OBJS = main.o psperror.o support.o \
	$(MODULES_STATIC) $(OBJECTS_PYTHON) $(OBJECTS_OBJECTS) $(OBJECTS_PARSER) $(OBJS_STACKLESS)
CPPFLAGS=-Ipsp2d -I../../cpplibs -I../../imaging -I../../pymaging
LDFLAGS=-L../../cpplibs -L../../imaging/build-psp
LIBS=
ifeq ($(WITH_SQLITE),1)
OBJS += $(OBJS_SQLITE)
CPPFLAGS += -I../Modules/_sqlite -DMODULE_NAME=\"sqlite3\" -DWITH_SQLITE
LIBS += -lsqlite3
endif
ifeq ($(WITH_PSP2D),1)
OBJS += $(OBJS_PSP2D)
LDFAGS += -Llibpsp2d
LIBS += -lpsp2d -limaging -ljpeg -lpng -lz -lpspgu
CPPFLAGS += -DWITH_PSP2D -DIMAGING_MODULE_NAME=\"psp2d\"
endif
ifeq ($(WITH_PSPSND),1)
OBJS += $(OBJS_PSPSND)
LDFLAGS += -Llibpspsnd
LIBS += -lpspsnd -lmikmod -lmmio -lpspaudiolib -lpspaudio
CPPFLAGS += -DWITH_PSPSND
endif
ifeq ($(WITH_PSPNET),1)
OBJS += $(OBJS_PSPNET)
CPPFLAGS += -DWITH_PSPNET
LIBS += -lpspwlan
endif
ifeq ($(WITH_OSLIB),1)
OBJS += $(OBJS_OSLIB)
LIBS += -losl -lpng -lz -lpspgu -lpspgum -lpspaudio -lpsphprm -ljpeg
CPPFLAGS += -DWITH_OSLIB
endif
ifeq ($(WITH_OSLIB_MOD),1)
OBJS += $(OBJS_OSLIB_MOD)
LIBS += -lpsphttp -lpspssl -lpspwlan
CPPFLAGS += -DWITH_OSLIB_MOD
endif
ifeq ($(WITH_EXPCETION_HANDLER),1)
OBJS += $(OBJS_EXCEPTION_HANDLER)
CPPFLAGS += -DWITH_EXPCETION_HANDLER
endif
ifeq ($(WITH_PSPOGG),1)
OBJS += $(OBJS_PSPOGG)
LIBS += -lvorbisidec -lpspaudiolib -lpspaudio
CPPFLAGS += -DWITH_PSPOGG
endif
ifeq ($(WITH_PSPMP3),1)
OBJS += $(OBJS_PSPMP3)
LIBS += -lpspaudio -lpspaudiocodec
CPPFLAGS += -DWITH_PSPMP3
endif
ifeq ($(WITH_SSL),1)
OBJS += $(OBJS_SSL)
LIBS += -lssl -lcrypto
CPPFLAGS += -DWITH_SSL -I$(PSPDEV)/psp/include/openssl
endif
LIBS += -lpsppower -lpspsircs -lstdc++ -lbz2
CPPFLAGS += -DHAVE_CONFIG_H -DPSP -I../Include -I../Stackless
CPPFLAGS += -I../Modules/expat -DHAVE_MEMMOVE
LIBS += -lc -lm
CFLAGS = -Os -g -G0 -Wall -Wno-strict-aliasing -fPIC
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-strict-aliasing
ASFLAGS = $(CFLAGS)
LIBDIR =
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
psperror.c:
	@cp $(PSPDEV)/psp/sdk/include/pspkerror.h ./pspkerror.h
	python generr.py
	@rm pspkerror.h
release: distclean $(PSP_EBOOT)
	@echo "###### Create release package ######"
	@echo "1. Creating release directory $(RELEASE_DIRECTORY)/"
	@mkdir -p $(RELEASE_DIRECTORY)/
	@echo "2. Copying EBOOT to release dir."
	@cp -pR EBOOT.PBP $(RELEASE_DIRECTORY)/
	@echo "3. Copying Python libraries to release dir."
	@cd ../Lib && find . -path '*/.svn*' -prune -o -path '*/plat-*' -prune -o -path './test/*' -prune -o -path '*/msilib/*' -prune -o -path '*/curses/*' -prune -o -path '*/idlelib/*' -prune -o -path '*/lib-tk/*' -prune -o -print | zip $(RELEASE_DIRECTORY)/python.zip -q@
	@mkdir -p site-packages
	@cp -pR elementtree/elementtree site-packages/
	@find site-packages/ -path "*/.svn*" -print0 | xargs -0 rm -rf
	@zip -qr $(RELEASE_DIRECTORY)/python.zip site-packages/elementtree
	@rm -rf site-packages
	@echo "4. Release dir created on $(RELEASE_DIRECTORY)."
	@echo "###### Done ######"
distclean:
	@echo "Cleaning $(RELEASE_DIRECTORY)"
	@rm -rf $(RELEASE_DIRECTORY)
	@echo "Done!"
	@echo ""
The .S file dosen't exist (it was in the temp directory), I tried stopping the compilation with CTRL-C but probably too late. :)
Ciaooo
Sakya
 
		 
				
		
		 
	 
				
		
		
			
				
																			
								ab5000 							 
									
		Posts:  74 Joined:  Tue May 06, 2008 2:37 am 
		
						
					
						 
													
							
						
									
						Post 
					 
								by ab5000  Fri Aug 07, 2009 9:09 pm 
			
			
			
			
			try adding -S to CFLAGS in Makefile.base. It'll output assembly code of your C files. Try also -save-temps so it'll save temporary files.
			
			
									
									Code: Select all 
%:include<stdio.h>
int _(int __,int ___,int ____,int _____)
<%for(;____<___;_____=_____*__,____++);
return _____;%>main()<%printf
("%d\n",_(2,5,0,1));%> 
		 
				
		
		 
	 
				
		
		
			
				
																			
								sakya 							 
									
		Posts:  190 Joined:  Fri Apr 28, 2006 5:48 pm
				Contact: 
				
			 
				
		 
		
						
					
						 
													
							
						
									
						Post 
					 
								by sakya  Wed Aug 26, 2009 8:55 pm 
			
			
			
			
			Hi! :)
Sorry to reply so late (and thanks for your help).
The error is 
Code: Select all 
main.s:712: Warning: setting incorrect section attributes for .rodata.sceModuleInfo
And line 712 is:
Code: Select all 
.section	.rodata.sceModuleInfo,"aw",@progbits
Here's the main.s 
http://www.megaupload.com/?d=CRT54YNI 
Ciaooo
Sakya
 
		 
				
		
		 
	 
				
		
		
			
				
																			
								ab5000 							 
									
		Posts:  74 Joined:  Tue May 06, 2008 2:37 am 
		
						
					
						 
													
							
						
									
						Post 
					 
								by ab5000  Sat Aug 29, 2009 8:35 pm 
			
			
			
			
			sakya wrote: Hi! :)
Sorry to reply so late (and thanks for your help).
The error is 
Code: Select all 
main.s:712: Warning: setting incorrect section attributes for .rodata.sceModuleInfo
And line 712 is:
Code: Select all 
.section	.rodata.sceModuleInfo,"aw",@progbits
Here's the main.s 
http://www.megaupload.com/?d=CRT54YNI 
Ciaooo
Sakya
.rodata.sceModuleInfo shouldn't be writable.
Can you post main.c?
Code: Select all 
%:include<stdio.h>
int _(int __,int ___,int ____,int _____)
<%for(;____<___;_____=_____*__,____++);
return _____;%>main()<%printf
("%d\n",_(2,5,0,1));%> 
		 
				
		
		 
	 
				
		
		
			
				
																			
								sakya 							 
									
		Posts:  190 Joined:  Fri Apr 28, 2006 5:48 pm
				Contact: 
				
			 
				
		 
		
						
					
						 
													
							
						
									
						Post 
					 
								by sakya  Sat Aug 29, 2009 8:37 pm 
			
			
			
			
			Hi! :)
Many thanks. :)
Here's the full main.c
Code: Select all 
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspctrl.h>
#include <pspsdk.h>
#include <pspiofilemgr.h>
#include <psppower.h>
#include <psputility_netmodules.h>
#include <psputility_sysparam.h>
#include <pspnet.h>
#include <pspnet_inet.h>
#include <pspnet_apctl.h>
#include <pspnet_resolver.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#ifdef WITH_SSL
/* Include OpenSSL header files */
#include "openssl/rsa.h"
#include "openssl/crypto.h"
#include "openssl/x509.h"
#include "openssl/pem.h"
#include "openssl/ssl.h"
#include "openssl/err.h"
#include "openssl/rand.h"
#endif
#ifdef WITH_EXPCETION_HANDLER
#include "exceptionhandler/exception.h"
#endif
#ifdef WITH_PSP2D
#include <pspgu.h>
#endif
#ifdef WITH_OSLIB
#include <oslib/oslib.h>
#endif
#include "Python.h"
#define VERS    2
#define REVS    52
PSP_MODULE_INFO("StacklessPython", 0, VERS, REVS);
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER|PSP_THREAD_ATTR_VFPU);
//PSP_HEAP_SIZE_KB(18*1024); /* Use 18Mb */
PSP_HEAP_SIZE_KB(-1024);    /* Leave 1024k to OS, rest to app */
PSP_MAIN_THREAD_STACK_SIZE_KB(64);
volatile int pspInterruptOccurred = 0;
/*!
*	Exit callback function
*/
int exit_callback(int arg1, int arg2, void *common) {
#ifdef WITH_OSLIB
    osl_quit = 1;
#else
    pspInterruptOccurred = 1;
    printf("--------------------------------------------------------------------------------\n");
    fclose(stdout);
    fclose(stderr);
    sceKernelExitGame();
#endif
    return 0;
}
/*!
*	Callback thread function
*/
int CallbackThread(SceSize args, void *argp) {
    int cbid;
    cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
    sceKernelRegisterExitCallback(cbid);
    sceKernelSleepThreadCB();
    return 0;
}
/*!
*	Sets up the callback thread and
*	returns its thread id function
*/
int SetupCallbacks(void) {
    int thid = 0;
    thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);   //als er foutenzijn dan  kan het hieraanliggen
    if(thid >= 0) {
        sceKernelStartThread(thid, 0, 0);
    }
    return thid;
}
/*!
*	Inits timezone based on PSP settings
*/
void initTimezone() {
    int tzOffset = 0;
    sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_TIMEZONE, &tzOffset);
    int tzOffsetAbs = tzOffset < 0 ? -tzOffset : tzOffset;
    int hours = tzOffsetAbs / 60;
    int minutes = tzOffsetAbs - hours * 60;
    int pspDaylight = 0;
    sceUtilityGetSystemParamInt(PSP_SYSTEMPARAM_ID_INT_DAYLIGHTSAVINGS, &pspDaylight);
    static char tz[18];
    sprintf(tz, "GMT%s%02i:%02i%s", tzOffset < 0 ? "+" : "-", hours, minutes, pspDaylight ? " DST" : "");
    setenv("TZ", tz, 1);
    tzset();
}
// Set heap size:
/*void setHeapSize(int newSize)
{
    int size = newSize / 1024;
    if (size * 1024 < newSize)
        size++;
    sce_newlib_heap_kb_size = size;
}*/
int main(int argc, char *argv[]) {
    SetupCallbacks();
    stdout = fopen("pytrace.txt", "w+");
    stderr = stdout;
    setenv("PYTHONPATH", "python.zip", 1);
    setenv("PYTHONHOME", "ms0:/", 1);
#ifdef WITH_EXPCETION_HANDLER
    initExceptionHandler();
#endif
    initTimezone();
    time_t now;
    sceKernelLibcTime(&now);
#ifdef WITH_PSPNET
    if (sceUtilityLoadNetModule(PSP_NET_MODULE_COMMON) < 0)
        return 1;
    if(sceUtilityLoadNetModule(PSP_NET_MODULE_INET) < 0)
        return 1;
   if (sceNetInit(0x20000, 0x20, 0x1000, 0x20, 0x1000) != 0)
      return 1;
   if (sceNetInetInit() != 0)
      return 1;
   if (sceNetResolverInit() != 0)
      return 1;
   if (sceNetApctlInit(0x1400, 0x42) != 0)
      return 1;
#endif
#ifdef WITH_PSP2D
    sceGuInit();
#endif
#ifdef WITH_OSLIB
    oslInit(1);
    oslSetExitCallback(exit_callback);
#endif
#ifdef WITH_SSL
    /* Start the random number generator */
    time_t start_time;
    start_time = time(NULL);
    RAND_seed((unsigned char *)&start_time, sizeof(time_t));
#endif
    char path[1024];
    printf("-------------- Python-PSP started %s\n", ctime(&now));
    printf("Free stack memory: %d\n", sceKernelGetThreadStackFreeSize(0));
    printf("Free memory      : %d\n", sceKernelTotalFreeMemSize());
    printf("PyPSP running in : %s\n", getcwd(path, sizeof(path)));
    printf("Search path      : %s\n", Py_GetPath());
    printf("\n");
    //scePowerSetClockFrequency(333, 333, 166);
    FILE *fp;
    PySys_ResetWarnOptions();
    Py_SetProgramName("python");
    Py_Initialize();
    PySys_SetArgv(argc, argv);
    fp = fopen("script.py", "r");
    if (fp) {
        PyRun_SimpleFile(fp, "script.py");
        fclose(fp);
    } else {
        printf("Error - could not open script.py\n");
    }
    Py_Finalize();
#ifdef WITH_PSP2D
    sceGuTerm();
#endif
    //pspSdkInetTerm();
#ifdef WITH_OSLIB
    osl_quit = 1;
#else
    pspInterruptOccurred = 1;
#endif
    printf("--------------------------------------------------------------------------------\n");
    fclose(stdout);
    fclose(stderr);
    sceKernelExitGame();
    return 0;
}
Ciaooo
Sakya
 
		 
				
		
		 
	 
				
		
		
			
				
																			
								ab5000 							 
									
		Posts:  74 Joined:  Tue May 06, 2008 2:37 am 
		
						
					
						 
													
							
						
									
						Post 
					 
								by ab5000  Sat Aug 29, 2009 8:58 pm 
			
			
			
			
			wich pspsdk are you using?
			
			
									
									Code: Select all 
%:include<stdio.h>
int _(int __,int ___,int ____,int _____)
<%for(;____<___;_____=_____*__,____++);
return _____;%>main()<%printf
("%d\n",_(2,5,0,1));%> 
		 
				
		
		 
	 
				
		
		
			
				
																			
								sakya 							 
									
		Posts:  190 Joined:  Fri Apr 28, 2006 5:48 pm
				Contact: 
				
			 
				
		 
		
						
					
						 
													
							
						
									
						Post 
					 
								by sakya  Sat Aug 29, 2009 9:00 pm 
			
			
			
			
			ab5000 wrote: wich pspsdk are you using?
I updated it a pair of weeks ago (don't remember the svn version)
EDIT: If this is the problem I can reinstall cygwin+pspsdk (but I'd be happy to avoid it). :)
Ciaooo
Sakya
 
		 
				
		
		 
	 
				
		
		
			
				
																			
								ab5000 							 
									
		Posts:  74 Joined:  Tue May 06, 2008 2:37 am 
		
						
					
						 
													
							
						
									
						Post 
					 
								by ab5000  Sat Aug 29, 2009 9:07 pm 
			
			
			
			
			sakya wrote: ab5000 wrote: wich pspsdk are you using?
I updated it a pair of weeks ago (don't remember the svn version)
Ciaooo
Sakya
umh...
check if in pspdev/psp/sdk/include/pspmoduleinfo.h:
typedef const _sceModuleInfo SceModuleInfo;
if SceModuleInfo is const GCC shouldn't make .rodata.sceModuleInfo writable.
Code: Select all 
%:include<stdio.h>
int _(int __,int ___,int ____,int _____)
<%for(;____<___;_____=_____*__,____++);
return _____;%>main()<%printf
("%d\n",_(2,5,0,1));%> 
		 
				
		
		 
	 
				
		
		
			
				
																			
								sakya 							 
									
		Posts:  190 Joined:  Fri Apr 28, 2006 5:48 pm
				Contact: 
				
			 
				
		 
		
						
					
						 
													
							
						
									
						Post 
					 
								by sakya  Sat Aug 29, 2009 9:48 pm 
			
			
			
			
			Hi! :)
ab5000 wrote: check if in pspdev/psp/sdk/include/pspmoduleinfo.h
Yes, here it is:
Code: Select all 
typedef struct _scemoduleinfo {
	unsigned short		modattribute;
	unsigned char		modversion[2];
	char			modname[27];
	char			terminal;
	void *			gp_value;
	void *			ent_top;
	void *			ent_end;
	void *			stub_top;
	void *			stub_end;
} _sceModuleInfo;
typedef const _sceModuleInfo SceModuleInfo;
mmmm...I'll try to reinstall the full cygwin + psptoolchain...uff. :)
Thanks for your help
Ciaooo
Sakya
 
		 
				
		
		 
	 
				
		
		
			
				
																			
								ab5000 							 
									
		Posts:  74 Joined:  Tue May 06, 2008 2:37 am 
		
						
					
						 
													
							
						
									
						Post 
					 
								by ab5000  Sun Aug 30, 2009 12:08 am 
			
			
			
			
			sakya wrote: Hi! :)
ab5000 wrote: check if in pspdev/psp/sdk/include/pspmoduleinfo.h
Yes, here it is:
Code: Select all 
typedef struct _scemoduleinfo {
	unsigned short		modattribute;
	unsigned char		modversion[2];
	char			modname[27];
	char			terminal;
	void *			gp_value;
	void *			ent_top;
	void *			ent_end;
	void *			stub_top;
	void *			stub_end;
} _sceModuleInfo;
typedef const _sceModuleInfo SceModuleInfo;
mmmm...I'll try to reinstall the full cygwin + psptoolchain...uff. :)
Thanks for your help
Ciaooo
Sakya
is seem a binutils bug.
try to reinstall the psptoolchain from svn.
Code: Select all 
%:include<stdio.h>
int _(int __,int ___,int ____,int _____)
<%for(;____<___;_____=_____*__,____++);
return _____;%>main()<%printf
("%d\n",_(2,5,0,1));%> 
		 
				
		
		 
	 
				
		
		
			
				
																			
								sakya 							 
									
		Posts:  190 Joined:  Fri Apr 28, 2006 5:48 pm
				Contact: 
				
			 
				
		 
		
						
					
						 
													
							
						
									
						Post 
					 
								by sakya  Sun Aug 30, 2009 12:37 am 
			
			
			
			
			Hi! :)
ab5000 wrote: is seem a binutils bug.
I'm reinstalling the full cygwin+psptoolchain. :)
I'll let you know if this solves the problem.
Btw it's a strange bug: this is the only source which gives me this warning...
Ciaooo
Sakya
 
		 
				
		
		 
	 
				
		
		
			
				
																			
								sakya 							 
									
		Posts:  190 Joined:  Fri Apr 28, 2006 5:48 pm
				Contact: 
				
			 
				
		 
		
						
					
						 
													
							
						
									
						Post 
					 
								by sakya  Sun Aug 30, 2009 5:07 pm 
			
			
			
			
			Hi! :)
			
			
									
									
						 
		 
				
		
		 
	 
				
		
		
			
				
																			
								jimparis 							 
									
		Posts:  1145 Joined:  Fri Jun 10, 2005 4:21 amLocation:  Boston 
		
						
					
						 
													
							
						
									
						Post 
					 
								by jimparis  Wed Sep 02, 2009 2:57 am 
			
			
			
			
			No idea, as ab5000 says the "const" tag should prevent it from being marked writable.  Could you post the full source, so we can try to reproduce the problem?
			
			
									
									
						 
		 
				
		
		 
	 
				
		
		
			
				
																			
								sakya 							 
									
		Posts:  190 Joined:  Fri Apr 28, 2006 5:48 pm
				Contact: 
				
			 
				
		 
		
						
					
						 
													
							
						
									
						Post 
					 
								by sakya  Wed Sep 02, 2009 4:58 am 
			
			
			
			
			Hi! :)
jimparis wrote: No idea, as ab5000 says the "const" tag should prevent it from being marked writable.  Could you post the full source, so we can try to reproduce the problem?
I have this problem with the Stackless Python PSP source, you can find it here:
http://code.google.com/p/pspstacklesspython/ 
Many thanks for your help. ;)
Ciaooo
Sakya
 
		 
				
		
		 
	 
				
		
		
			
				
																			
								jimparis 							 
									
		Posts:  1145 Joined:  Fri Jun 10, 2005 4:21 amLocation:  Boston 
		
						
					
						 
													
							
						
									
						Post 
					 
								by jimparis  Thu Sep 03, 2009 4:16 am 
			
			
			
			
			Which branch/tag/version?  I tried PSPStacklessPython2.5.2_R1 tag and it compiles fine here (with various stuff disabled in the Makefile since I'm too lazy to track down all the dependencies)