Re: amd64 kernel modules: mapping sections to addresses

2010-06-26 Thread Rui Paulo
On 25 Jun 2010, at 10:28, Andriy Gapon wrote: > > Here's a patch that is supposed to do the right thing for dtrace. > Perhaps I should have put the new code under __amd64__, but I decided to go > more > "generic" and check for module's ELF type (ET_REL). > > Reviews and testing are welcome! I

Re: amd64 kernel modules: mapping sections to addresses

2010-06-25 Thread Andriy Gapon
Here's a patch that is supposed to do the right thing for dtrace. Perhaps I should have put the new code under __amd64__, but I decided to go more "generic" and check for module's ELF type (ET_REL). Reviews and testing are welcome! diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_im

Re: amd64 kernel modules: mapping sections to addresses

2010-06-22 Thread Andriy Gapon
on 22/06/2010 00:34 Andriy Gapon said the following: > gdb change - I'd rather do it via kld_current_sos, > kld_relocate_section_addresses. I'd like to avoid changing common gdb code > for > a variety of reasons. I came up with the following patch. EXEC_P and DYNAMIC flags are bfd library equiva

Re: amd64 kernel modules: mapping sections to addresses

2010-06-21 Thread Andriy Gapon
on 22/06/2010 01:00 Navdeep Parhar said the following: > > I'm not so sure about this. There is code inside the second switch that runs > whether sh_size is 0 or not. Either all of it is pointless code (when sh_size > is 0) or or you'll make sure that it still runs, right? It's definitely point

Re: amd64 kernel modules: mapping sections to addresses

2010-06-21 Thread Navdeep Parhar
On Tue, Jun 22, 2010 at 12:34:49AM +0300, Andriy Gapon wrote: > on 21/06/2010 23:44 Navdeep Parhar said the following: > > On Mon, Jun 21, 2010 at 04:10:45PM -0400, John Baldwin wrote: > >> On Monday 21 June 2010 11:57:17 am Andriy Gapon wrote: > >>> on 21/06/2010 18:43 John Baldwin said the follow

Re: amd64 kernel modules: mapping sections to addresses

2010-06-21 Thread Andriy Gapon
on 21/06/2010 23:44 Navdeep Parhar said the following: > On Mon, Jun 21, 2010 at 04:10:45PM -0400, John Baldwin wrote: >> On Monday 21 June 2010 11:57:17 am Andriy Gapon wrote: >>> on 21/06/2010 18:43 John Baldwin said the following: np@ has a patch to gdb to fix this for kgdb. I haven't comm

Re: amd64 kernel modules: mapping sections to addresses

2010-06-21 Thread Navdeep Parhar
On Mon, Jun 21, 2010 at 04:10:45PM -0400, John Baldwin wrote: > On Monday 21 June 2010 11:57:17 am Andriy Gapon wrote: > > on 21/06/2010 18:43 John Baldwin said the following: > > > np@ has a patch to gdb to fix this for kgdb. I haven't committed it as > > > it > > > patched gdb internals and wa

Re: amd64 kernel modules: mapping sections to addresses

2010-06-21 Thread John Baldwin
On Monday 21 June 2010 11:57:17 am Andriy Gapon wrote: > on 21/06/2010 18:43 John Baldwin said the following: > > np@ has a patch to gdb to fix this for kgdb. I haven't committed it as it > > patched gdb internals and wasn't in a kgdb-specific place, but I'm not sure of > > a better way to fix

Re: amd64 kernel modules: mapping sections to addresses

2010-06-21 Thread Andriy Gapon
on 21/06/2010 18:43 John Baldwin said the following: > np@ has a patch to gdb to fix this for kgdb. I haven't committed it as it > patched gdb internals and wasn't in a kgdb-specific place, but I'm not sure > of > a better way to fix kgdb. Oh, yes, section mapping is done in common gdb code. P

Re: amd64 kernel modules: mapping sections to addresses

2010-06-21 Thread John Baldwin
On Monday 21 June 2010 10:39:08 am Andriy Gapon wrote: > > I've noticed that on amd64 addresses (sh_addr) of all sections in a kernel module > are zeros. > This is unlike kernel itself and i386 modules. > > Kernel linker maps SHT_PROGBITS and SHT_NOBITS sections sequentially starting at a > cer

amd64 kernel modules: mapping sections to addresses

2010-06-21 Thread Andriy Gapon
I've noticed that on amd64 addresses (sh_addr) of all sections in a kernel module are zeros. This is unlike kernel itself and i386 modules. Kernel linker maps SHT_PROGBITS and SHT_NOBITS sections sequentially starting at a certain base address and taking into account their sizes and alignment