Linux PARISC architecture development
 help / color / mirror / Atom feed
* [parisc-linux] wishlist projects, looking for volunteers
@ 2002-04-30  6:21 Randolph Chung
  2002-05-02 17:15 ` Richard Hirst
  0 siblings, 1 reply; 2+ messages in thread
From: Randolph Chung @ 2002-04-30  6:21 UTC (permalink / raw)
  To: parisc-linux

Hi all,

Just thought I'd post a list of some interesting (IMHO) user-space
projects for parisc-linux.  Feel free to volunteer on anything you
find interesting :-) many of these are good ways to learn things about
an OS/architecture that you don't usually have a chance to do so on more
established platforms. Plus there are lots of people (on this list) who
are willing to answer questions :-)

binutils related
- for hppa64-linux binutils, the linker is always putting dynamic
  sections into the resulting binary, even though they are not always
  needed. there is a sketch of how to fix this at 
http://lists.parisc-linux.org/pipermail/parisc-linux/2002-April/016049.html
- hppa's gas can only be compiled as 32-bit only or 64-bit only. it
  would be nice to make it so that it can be compiled to do both (mode
  chosen using a command line switch). this is how sparc handles mixed
  32-bit/64-bit environments

gdb related
- gdb doesn't work very well on hppa, single stepping with step/next
  often does not work (looks like it can't find the stopping point for
  the next statement). needs to be investigated and fixed
- gdb doesn't recognize the dwarf debug info that you get with
  gcc-3.1/gcc-3.2. needs to be enhanced (i think Dave might have already
  done some work in this area)
- we are also in need of a hppa gdb maintainer. anyone interested? :-)

gcc related
- The debian gcc package currently does not build 64-bit compilers. this
  shouldn't be too hard to fix (can use sparc as a template), just needs
  some experimentation to get it packaged properly

Java
- kaffe port to parisc-linux. i got the interpreter working (sorta) but
  many things don't yet work. would be a good project to learn about
  JITs and such...

ltrace
- this is a function-call level tracer (as opposed to strace, which is
  more on the syscall level). The current ltrace source has some
  assumptions about ELF relocation layout that doesn't work on hppa. It
  shouldn't be *hard* to fix this if you understand how pa relocation
  stubs are generated...

glibc
- there seems to be a problem with the loader going into an infinite
  loop when programs are linked with certain libraries that are linked
  against libpthread. Helge had mentioned to me that he's seen this with
  KDE, also things that are linked against the plib library seems to
  have this problem...

c++ fixing
- http://auric.debian.org/~tausq/buildd/hppa-latest.html has a list of
  debian packages that don't yet build on hppa (the ones that are listed
  as "Failed"). many of these are c++ packages that are not coded
  correctly and don't work with the stricter c++ standard enforced by
  the 3.x compilers. try to fix these and file bugs...

i'm sure there are other things i'm missing.....

randolph
--  
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [parisc-linux] wishlist projects, looking for volunteers
  2002-04-30  6:21 [parisc-linux] wishlist projects, looking for volunteers Randolph Chung
@ 2002-05-02 17:15 ` Richard Hirst
  0 siblings, 0 replies; 2+ messages in thread
From: Richard Hirst @ 2002-05-02 17:15 UTC (permalink / raw)
  To: Randolph Chung; +Cc: parisc-linux

Hi Randolph,

On Mon, Apr 29, 2002 at 11:21:37PM -0700, Randolph Chung wrote:
> ltrace
> - this is a function-call level tracer (as opposed to strace, which is
>   more on the syscall level). The current ltrace source has some
>   assumptions about ELF relocation layout that doesn't work on hppa. It
>   shouldn't be *hard* to fix this if you understand how pa relocation
>   stubs are generated...

Had a bit of a look at this; basically it wants to set breakpoints on
all the stubs for library calls from the target program.  On i386 that's
easy, as the reloc gives you an entry in the .plt, which is an indirect
jmp - so it just sets a breakpoint on that jmp.  The fact that the
loaction it indirects through initially points at the dynamic linker
code, and then is later fixed up to point to the library directly is
irrelevant.

On parisc, our .plt entry is just a function address plus data pointer
pair.  Where the mainline code calls a library function there is a
call to a stub that reads the .plt entry and jumps to the location it
references.  Initially that .plt entry will point at the dynamic linker
code, before being fixed up to reference the library function.

So, ideally we want to set a breakpoint on the stub that references the
.plt entry, but I don't see how we can locate that.  We only have a
reference to the .plt entry address, right?

(a) have I got that basically right?, and
(b) did you have any ideas on how we might make ltrace work?

Cheers,
  Richard

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-05-02 17:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-30  6:21 [parisc-linux] wishlist projects, looking for volunteers Randolph Chung
2002-05-02 17:15 ` Richard Hirst

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox