Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Walk through personality flags on 32-bit and 64-bit and ensure correct behaviour #1119

Open
Sonicadvance1 opened this issue Jun 25, 2021 · 0 comments
Milestone

Comments

@Sonicadvance1
Copy link
Member

Sonicadvance1 commented Jun 25, 2021

Not sure exactly how much this matters but we should double check it.

Flags to support:

  • UNAME26
    • Needs emulation
  • ADDR_NO_RANDOMIZE
    • Already handled in ELFCodeLoader
  • FDPIC_FUNCPTRS
    • nop on x86
  • MMAP_PAGE_ZERO
    • Allowed but doesn't do anything on x86
  • ADDR_COMPAT_LAYOUT
    • Changes allocation to BottomUp instead of top-down
    • Would need emulation
  • READ_IMPLIES_EXEC
    • Needs NX support, which we don't have currently
  • ADDR_LIMIT_32BIT
    • nop on x86
  • SHORT_INODE
    • nop
  • WHOLE_SECONDS
    • nop
  • STICKY_TIMEOUTS
    • Causes select, pselect, and ppoll to not modify timeout on signal handler interrupt.
    • Passthrough to host kernel makes FEX impl a nop.
  • ADDR_LIMIT_3GB
    • Changes the upper limit on mmap from 0xffff_e000 to 0xc000_0000 for 32-bit processes
    • Needs emulation

Personalities:

  • PER_LINUX32
    • Changes uname result
    • Needs emulation
  • PER_SVR4/3
  • PER_SCOSVR3/PER_OSR5
  • PER_WYSEV386
  • PER_ISCR4
  • PER_BSD
  • PER_SUNOS
  • PER_XENIX
  • PER_IRIX32
  • PER_IRIXN32
  • PER_IRIX64
  • PER_RISCOS
  • PER_SOLARIS
  • PER_UW7
  • PER_OSF4
  • PER_HPUX
    • nop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🆕 Unschedulled
Development

No branches or pull requests

2 participants