On Sat, 4 Mar 2006 at 08:52 -0800, Bernhard Schmalhofer via RT...:
could you send your changes as a patch to me or to [EMAIL PROTECTED]
my hack was not how anyone should implement it. (I was just trying to get it to compile)
Could you additionally add your test results to PLATFORMS?
I tried find a bit more documentation on the information needed to add to PLATFORMS, but didn't find it yet in parrot - any advice?
I suppose there needs to be some kind of config check for older 'libc5'. The hints you passed to Configure.pl could probably also be put into a hints file.
See below Index: parrot/src/exec_save.c =================================================================== --- parrot/src/exec_save.c (revision 11768) +++ parrot/src/exec_save.c (working copy) @@ -300,6 +300,11 @@ save_struct(fp, obj->text.code, obj->text.size); /* Text */ save_struct(fp, obj->data.code, obj->data.size); /* Data */ /* Text rellocations */ + +#ifndef ELF32_R_INFO +# define ELF32_R_INFO(s,t) (((s) << 8) + ((t) & 0xff)) +#endif + for (i = 0; i < obj->text_rellocation_count; i++) { # if PARROT_I386 bzero(&rellocation, sizeof(Elf32_Rel)); @@ -399,6 +404,11 @@ save_struct(fp, &symlst, sizeof(Elf32_Sym)); /* Text */ bzero(&symlst, sizeof(Elf32_Sym)); + +#ifndef ELF32_ST_INFO +# define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf)) +#endif + symlst.st_info = ELF32_ST_INFO(STB_LOCAL, STT_SECTION); symlst.st_shndx = 2; save_struct(fp, &symlst, sizeof(Elf32_Sym));