[coreutils] [PATCH] Cater for extra strace output when building 32-on-64.
Pádraig Brady
P at draigBrady.com
Wed Dec 1 09:49:14 UTC 2010
On 30/11/10 18:09, Dmitry V. Levin wrote:
> On Mon, Nov 01, 2010 at 02:53:29PM +0000, Pádraig Brady wrote:
> [...]
>> --- syscall.c.orig 2010-11-01 14:46:41.292576453 +0000
>> +++ syscall.c 2010-11-01 14:47:10.164576378 +0000
>> @@ -953,7 +953,7 @@
>>
>> call = ptrace(PTRACE_PEEKTEXT, pid, (char *)rip, (char *)0);
>> if (errno)
>> - printf("ptrace_peektext failed: %s\n",
>> + fprintf(stderr, "ptrace_peektext failed: %s\n",
>> strerror(errno));
>> switch (call & 0xffff) {
>> /* x86-64: syscall = 0x0f 0x05 */
>
> Yes, this is definitely a bug, thank you.
>
>> @@ -972,7 +972,7 @@
>> if (currpers != current_personality) {
>> static const char *const names[] = {"64 bit", "32 bit"};
>> set_personality(currpers);
>> - printf("[ Process PID=%d runs in %s mode. ]\n",
>> + fprintf(stderr, "[ Process PID=%d runs in %s mode. ]\n",
>> pid, names[current_personality]);
>> }
>> }
>
> I'm not quite sure whether this message should go to stdout or stderr.
> If it is a useful output, then it is the first case. If it is just a
> diagnostics, then it is the second case.
I got the impression that strace doesn't output anything else to stdout,
and hence this was an oversight.
> The message in its current form was introduced along with personality
> switching support more than eight years ago.
> I wonder is there any script that relies on the current behaviour.
Hardly, and they can be easily updated if so.
cheers,
Pádraig.
More information about the Strace-devel
mailing list