Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2007-01-24 20:23:38


Patrick can commit, or as soon as they get us an amendment with
Reese's name on schedule A, he can commit directly... ;-)

On Jan 24, 2007, at 7:18 PM, Brian W. Barrett wrote:

> I think this is a reasonable thing to commit. However, keep in mind
> that %p isn't totally portable. I think it should be good on all the
> platforms GM/MX support, but probably not a great idea to use it in
> the general codebase.
>
> But still reasonable to make the code at this level understand it so
> that you can use %p in components that will only be used on platforms
> where it's likely supported...
>
> I actually think the
>
> So commit away ;)
>
> Brian
>
> On Jan 24, 2007, at 4:09 PM, Reese Faucette wrote:
>
>> [repost - apologies, apparently my first one was unintentionally a
>> followup to another thread]
>>
>> If you ever do an opal_output() with a "%p" in the format string,
>> guess_strlen() can segfault because it neglects to consume the
>> corresponding
>> argument, causing subsequent "%s" in the same format string to blow
>> up in
>> strlen() on a bad address. Any objections to the following patch
>> to add %p
>> support? If I were to check this in, is there some automated build
>> process
>> that will inform me I broke the build on, say, 43-bit Zurix
>> machines ?
>>
>> If the llarg = (uintptr_t) business is scary (it is to me a
>> little), a much
>> more conservative would be: len += 2*sizeof(void *)+2;
>>
>> -reese
>>
>> Index: opal/util/printf.c
>> ===================================================================
>> --- opal/util/printf.c (revision 13271)
>> +++ opal/util/printf.c (working copy)
>> @@ -45,6 +45,7 @@
>> int iarg;
>> int len;
>> long larg;
>> + long long llarg;
>>
>> /* Start off with a fudge factor of 128 to handle the %
>> escapes that
>> we aren't calculating here */
>> @@ -90,6 +91,17 @@
>> } while (0 != iarg);
>> break;
>>
>> + case 'p':
>> + sarg = va_arg(ap, char *);
>> + llarg = (uintptr_t) sarg;
>> + len +=2; /* allow for "0x" */
>> + /* Now get the log16 */
>> + do {
>> + ++len;
>> + llarg /= 16;
>> + } while (0 != llarg);
>> + break;
>> +
>> case 'f':
>> farg = (float)va_arg(ap, int);
>> /* Alloc for minus sign */
>>
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
> --
> Brian Barrett
> Open MPI Team, CCS-1
> Los Alamos National Laboratory
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems