krytarowski added inline comments.

================
Comment at: source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp:1374
+    else if ((note.n_name == LLDB_NT_OWNER_NETBSDCORE) &&
+             (note.n_type == LLDB_NT_NETBSD_NT_PROCINFO)) {
       // Set the elf OS version to NetBSD.  Also clear the vendor.
----------------
kettenis wrote:
> krytarowski wrote:
> > kettenis wrote:
> > > By making this change you risk losing recognition of "normal" NetBSD ELF 
> > > files, i.e. executables and shared libraries.
> > Hmm, do you mean these notes:
> > 
> > ```
> > $ readelf -n /bin/cat                                                       
> >                                                                           
> > 
> > Displaying notes found at file offset 0x00000214 with length 0x00000018:
> >   Owner                 Data size   Description
> >   NetBSD            0x00000004      IDENT 799005900 (7.99.59)
> > 
> > Displaying notes found at file offset 0x0000022c with length 0x00000014:
> >   Owner                 Data size   Description
> >   NetBSD            0x00000004      PaX <>
> > ```
> In particular the first one of these.  On OpenBSD I just have a generic check 
> on the name which catches both these and the core file notes.  But on NetBSD 
> those use different names.
I will test it and add switch to support both types of ELF files: core(5) and 
executables.


================
Comment at: source/Plugins/Process/elf-core/ProcessElfCore.cpp:563
+
+/// Generic (Linux, ...) specific Thread context from PT_NOTE segment
+/// 1) A Thread Context in a core file usually described by 3 NOTE entries.
----------------
kettenis wrote:
> krytarowski wrote:
> > kettenis wrote:
> > > A bit strange to call something both generic and specific...
> > > 
> > > I think some of these note types originated on SVR4/Solaris, but I'm not 
> > > sure how much Linux deviated from that design through the years.
> > Can we call it: Type1 core (as of now: NetBSD) and Type2 core (Linux, 
> > Android, FreeBSD, OpenBSD)?
> > 
> > I don't care which would be 1 and which 2.
> I'd just drop word "specific" from the comment. And OpenBSD will obviously be 
> handled in a similar way as NetBSD in the near future.
Assuming that NetBSD and OpenBSD will share the same function - we can go 
pickup appropriate name now.

As far as I can tell FreeBSD shares similar concept to Linux.

A thread specific data is defined by multiplication of the following notes:

```
  FreeBSD       0x000000e0      NT_PRSTATUS (prstatus structure)
  FreeBSD       0x00000200      NT_FPREGSET (floating point registers)
  FreeBSD       0x00000018      NT_THRMISC (thrmisc structure)
```


Repository:
  rL LLVM

https://reviews.llvm.org/D32149



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to