From: Rusty Russell <rusty@rustcorp.com.au>
To: linux-ia64@vger.kernel.org
Subject: [Linux-ia64] Re: ia64 cache flushing?
Date: Tue, 17 Dec 2002 00:27:11 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590709805584@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590709805582@msgid-missing>
> Could someone who is Attuned with the way of ia64 linking and asm
> please look at this? It's a userspace framework which tests the 2.5
> module code (as modified by RTH to use shared objects rather than
> simple object files). You can see 9 architectures already done, but
> ia64 doesn't work, for reasons beyond my humble abilities.
>
> The idea is that once all the archs are finished, I put it in the
> kernel and push the change Linus. ia64 is the last "important" arch
> (and, naturally, the hardest 8).
>
> Thanks in advance!
> Rusty.
> --
> Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
Sorry, that was a hacked version. Apply this patch.
diff -ur module-test-framework/Makefile module-test-framework-fixed/Makefile
--- module-test-framework/Makefile 2002-12-17 09:48:11.000000000 +1100
+++ module-test-framework-fixed/Makefile 2002-12-17 11:22:56.000000000 +1100
@@ -18,7 +18,7 @@
# Buggy binutils on PPC needs -fPIC
KLDFLAGS_ppc:-KCCFLAGS_ppc:+KCCFLAGS_ppc:=-fPIC
KLDFLAGS_ppc64:= -melf64ppc -Bsymbolic
KCCFLAGS_ppc64:= -mminimal-toc
diff -ur module-test-framework/mod.c module-test-framework-fixed/mod.c
--- module-test-framework/mod.c 2002-12-17 09:53:05.000000000 +1100
+++ module-test-framework-fixed/mod.c 2002-12-17 11:18:15.000000000 +1100
@@ -12,7 +12,6 @@
extern int __initfn(void);
extern void __exitfn(void);
-#if 0
/* We use the linker to do a lot of this work for us. */
struct module __this_module __attribute__((section("this_module"))) = {
.name = MODULE_NAME,
@@ -35,27 +34,3 @@
.exit = __exitfn,
#endif
};
-#else
-/* We use the linker to do a lot of this work for us. */
-struct module __this_module __attribute__((section("this_module"))) = {
- .name = MODULE_NAME,
- .symbols = { .owner = &__this_module,
- .start = __start___ksymtab,
- .end = __stop___ksymtab,
- },
- .extable = { .start = NULL,
- .end = NULL,
- },
- .param_start = __start___param,
- .param_end = __stop___param,
- .init = __initfn,
- .cut_here = __module_cut,
-#ifdef CONFIG_OBSOLETE_MODPARM
- .obsparam_start = NULL,
- .obsparam_end = NULL,
-#endif
-#ifdef CONFIG_MODULE_UNLOAD
- .exit = __exitfn,
-#endif
-};
-#endif
diff -ur module-test-framework/module.c module-test-framework-fixed/module.c
--- module-test-framework/module.c 2002-12-17 09:53:56.000000000 +1100
+++ module-test-framework-fixed/module.c 2002-12-17 11:22:28.000000000 +1100
@@ -637,13 +637,12 @@
sechdrs = (void *)hdr + hdr->e_shoff;
secstrings = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset;
for (i = 1; i < hdr->e_shnum; i++) {
- if (strcmp(secstrings+sechdrs[i].sh_name, ".strtab") = 0) {
- DEBUGP("String table in section %u\n", i);
- strtab = (void *)hdr + sechdrs[i].sh_offset;
- } else if (sechdrs[i].sh_type = SHT_SYMTAB) {
+ if (sechdrs[i].sh_type = SHT_SYMTAB) {
/* Internal symbols */
DEBUGP("Symbol table in section %u\n", i);
symindex = i;
+ strtab = (void *)hdr
+ + sechdrs[sechdrs[i].sh_link].sh_offset;
}
}
@@ -973,9 +972,6 @@
} else if (phdrs[i].p_type = PT_LINUX_MODULE)
me = loadaddr + phdrs[i].p_vaddr;
}
-#if 1
- me = loadaddr + 0x00000084;
-#endif
if (!me) {
printk(KERN_ERR "load_module: No module found\n");
err = -ENOEXEC;
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
next prev parent reply other threads:[~2002-12-17 0:27 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-16 23:22 [Linux-ia64] Re: ia64 cache flushing? Rusty Russell
2002-12-17 0:25 ` Richard Henderson
2002-12-17 0:27 ` Rusty Russell [this message]
2002-12-17 1:14 ` Rusty Russell
2002-12-17 1:32 ` Richard Henderson
2002-12-17 2:11 ` Rusty Russell
2002-12-17 2:15 ` David Mosberger
2002-12-17 3:42 ` Richard Henderson
2002-12-17 3:50 ` David Mosberger
2002-12-17 7:20 ` Richard Henderson
2002-12-19 23:15 ` David Mosberger
2002-12-20 0:56 ` Richard Henderson
2002-12-20 1:07 ` David Mosberger
2002-12-20 1:18 ` Richard Henderson
2002-12-20 1:20 ` David Mosberger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-linux-ia64-105590709805584@msgid-missing \
--to=rusty@rustcorp.com.au \
--cc=linux-ia64@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.