This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 0/3 v3] [AArch64] Support tagged pointer


On 11 April 2018 at 23:27, Pedro Alves <palves@redhat.com> wrote:

> On 04/11/2018 12:59 PM, Omair Javaid wrote:
>
> > Yes I can submit a patch that enables set_gdbarch_significant_addr_bit
> for aarch64-linux-tdep only.
> >
> > But a point to discuss here is the use-case where some people use
> *-linux-gdb for debugging seamlessly between kernel and user-space.
> >
> > There can be ways we can distinguish between user/kernel address space
> and clear or set top byte of the address even in case of linux targets.
> >
> > Does this sound something we should do?
>
> Yeah, why not.
>
> What are the pending kernel debugging patches using to distinguish
> userspace and kernel debugging modes?  Off hand, I'd think we'd want to
> make those separate ABIs / osabis / gdbarchs.
>

Sorry for late reply on this I am out of office this week.

I have given this a thought and I propose to do the following:

Turn on pointer tagging on OSABI (LINUX) by default.

Add commands set aarch64 pointer-tagging show/enable/disable.

Once LKD patches for aarch64/arm land in our need for this will
automatically be solved.

^ Does this make sense?

For Linux Kernel Debugging we have separate OSABI (LINUX_KERNEL). Patch
snippet from LKD patches by Phillip given below:

+static enum gdb_osabi
+s390_lk_osabi_sniffer (bfd *abfd)
+{
+  if (bfd_get_section_by_name (abfd, ".reg-s390-prefix")
+      || bfd_get_section_by_name (abfd, "__ksymtab"))
+    return GDB_OSABI_LINUX_KERNEL;
+
+  return GDB_OSABI_UNKNOWN;
+}
+
+extern initialize_file_ftype _initialize_s390_lk_tdep; /*
-Wmissing-prototypes */
+
+void
+_initialize_s390_lk_tdep (void)
+{
+  /* Hook us into the OSABI mechanism.  */
+  gdbarch_register_osabi (bfd_arch_s390, bfd_mach_s390_64,
GDB_OSABI_LINUX_KERNEL,
+			  s390_lk_init_abi_64);
+  /* Add OSABI sniffer.  */
+  gdbarch_register_osabi_sniffer (bfd_arch_s390, bfd_target_elf_flavour,
+				  s390_lk_osabi_sniffer);
+
+  /* Initialize the Linux kernel target descriptions.  */
+  initialize_tdesc_s390x_cr_linux64 ();
+  initialize_tdesc_s390x_vxcr_linux64 ();
+}


Thanks,
> Pedro Alves
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]