site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com I have the problem, that for testing purposes I want to place an Objective-C message at a certain place in memory. Now my plan is, that I link my foundation console project with -seg1addr 0x35203000 and I have another method in front of the method, that contains a lot of dummy code, that I want to shrink or expand to hit the proper address. + (int) bogus1:(int) x { x = x * x; x = x * x; // and hundreds more... // x = x * x; return( x); } - (id) key { return( _key); } It's not working as I hoped it would be, although the -seg1addr in itself works. The reason being, that the first __text start address changes unpredictably. Here is an example of a link with _more_ bogus1 code: Load command 1 cmd LC_SEGMENT cmdsize 396 segname __TEXT vmaddr 0x35203000 vmsize 0x00002000 fileoff 0 filesize 8192 maxprot 0x00000007 initprot 0x00000005 nsects 5 flags 0x0 Section sectname __text segname __TEXT addr 0x35204544 size 0x000009cd offset 5444 align 2^2 (4) reloff 0 nreloc 0 flags 0x80000400 reserved1 0 reserved2 0 and here with less bogus1 code, as you can see the __text address counterintuitively moved down! I would have expected it to stay the same really. Load command 1 cmd LC_SEGMENT cmdsize 396 segname __TEXT vmaddr 0x35203000 vmsize 0x00002000 fileoff 0 filesize 8192 maxprot 0x00000007 initprot 0x00000005 nsects 5 flags 0x0 Section sectname __text segname __TEXT addr 0x35204684 size 0x0000089b offset 5764 align 2^2 (4) reloff 0 nreloc 0 flags 0x80000400 reserved1 0 reserved2 0 Most of the space between 0x35204684 and 0x35203000 is filled with beautiful nils. So apparently the linker somehow tail aligns the code ? I then added a method bogus2 behind the -key method, but I still can't nail the exact address. I can come close to one byte offset with nops though. I need a clue... Ciao Nat! P.S. If you think this is crazy, see this :) (http://www.mulle-kybernetik.com/weblog/2009/12/my_best_bug_ever.html), the reason I am trying this at all. ------------------------------------------------------ When vanity and rivalry disappear, all the lines go out of your stomach and you slow down and coast slowly to a stop in the middle. -- DLR _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com