Skip to main content

Home/ The Apple Group/ Group items tagged format

Rss Feed Group items tagged

Graham Perrin

XBinary: Extended Binary Format Support for Mac OS X - 0 views

  • Extended Binary Format Support
  • © Amit Singh
  • January 2009
  • ...51 more annotations...
  • —With the advent of x86-based Macintosh computers, Universal binaries, originally known as "fat" or multiple-architecture binaries, appeared in Mac OS X.
  • Universal Binaries
  • for one or more architectures
  • along with a header that describes each constituent binary.
  • a wrapper that contains Mach-O binaries
  • a "4-way fat" executable could consist of Mach-O executables for the i386 (32-bit Intel), x86_64 (64-bit Intel), ppc (32-bit PowerPC), and ppc64 (64-bit PowerPC) architectures
  • Mac OS X does not provide any kernel-level or user-level interfaces to extend binary format support.
  • we'll need to write special software
  • new kernel functionality
  • software will involve a kernel extension.
  • extend the kernel
  • and execute them through specified handler programs.
  • Let us call the new software that implements these features XBinary.

    binfmt_misc

    Those familiar with the Linux kernel will realize that functionality similar to what's been described here exists in Linux as the binfmt_misc kernel feature. XBinary is conceptually similar

  • XBinary also has some Mac OS X specific features.

  • download and install the XBinary package
  • a command-line tool (xbinary
  • a kernel extension (xbinary.kext)
  • research software at this point
  • choosing the best library from an extended fat library file.
  • for developers, researchers, and power users
  • take XBinary for a spin
  • XBinary: extended binary format support for Mac OS X Copyright (c) 2009 Amit Singh. All Rights Reserved. http://osxbook.com The XBinary software allows you to extend the Mac OS X kernel such that it can recognize arbitrary binary formats and execute them through specified handler programs. (Mac OS X natively supports executing only Mach-O binaries, Universal (fat) binaries, and interpreter scripts.) XBinary consists of a kernel extension (xbinary.kext) and this command-line tool, which lets you control the XBinary facility. This requires superuser privileges, so you should run this tool using sudo(8). The XBinary kext must be loaded for the facility to be available.
  • You can add and manipulate in-kernel entries that enable recognition of binary formats.
  • You can also specify flags that affect how a matched entry is processed. By default, the argument vector IS adjusted and setuid/setgid binaries are NOT allowed.
  • make experimentation involving new binary formats easy
  • Let us look at Java applications
  • then specify this wrapper script as the interpreter
  • and subsequently invoke the Java application launcher.
  • given a Java class file
  • a wrapper script
  • We don't even have to write such scripts
    • Graham Perrin
       
      :-)
  • a Universal binary containing, say, Tiger and Leopard versions
  • simplify code creation and maintenance.
  • Consider a 2-way fat binary containing i386 and x86_64 architectures.
  • operating system versions in addition to processor architectures.
    • Graham Perrin
       
      :-)
  • Now think of an "extended" fat binary mechanism that incorporates
  • our hypothetical extended fat binary contains eight "architectures"
  • the extended fat feature as implemented by XBinary is not a complete implementation
  • These examples assume that you are on an x86 (little-endian) machine.
  • XBinary requires Mac OS X 10.5.x (Leopard).
  • Executive Summary

    This document discusses XBinary, a new software that lets you add kernel-level support for executing files in arbitrary binary formats on Mac OS X.

  • Extending Executability
  • recognize arbitrary binary formats
  • using the xbinary tool
  • copious "help" output
  • Each entry must have as its name a unique identifier string up to 31 bytes in size. Additionally, a set of other arguments specify to the kernel how to recognize that binary format and which interpreter to invoke to handle it. XBinary can recognize a binary EITHER by matching magic bytes within the first page of the file OR by matching a file extension. OTHER_ARGS must be a valid combination of the following arguments (some are optional).
  • that will determine the startup class name
  • Bonus Feature: Extra Fat Binaries
  • Since XBinary is experimental, why not experiment with such a feature too?
  • XBinary wouldn't be able to help the dynamic linker
  • The XBinary software
sarah aimee

Troubleshoot Your Hard Drive problems - 0 views

  •  
    Although you can have one big fat hard drive as single partition, you should Partition as well, if you have a big hard drive. Partitioning is the method of dividing an area on a disk into minor portions of smaller capacities that can be recognized by the operating system. Picture this: your hard drive is a cake. It is easier to eat a cake divided into pieces than to eat it whole.
thanaads Thanaads Noo

Download: XViD4PSP v5.035 free iPhone video converter | iPhone News Updated - 0 views

  •  
    This software is completely free, and it allows you to transfer almost any video file into an MP4 format that the iPhone will be able to recognize and play.
thanaads Thanaads Noo

TV on the iPhone: Don't Hold Your Breath | iPhone News Updated - 0 views

  •  
    iPhone users shouldn't get their hopes up if they want to view television on the iPhone - or any video that doesn't come directly from iTunes, for that matter. In its zeal to maintain control over the user experience, is Apple denying its users a better experience?
1 - 5 of 5
Showing 20 items per page