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));