#31 obexftp is not 64 bit clean

closed-accepted
None
5
2007-06-02
2005-08-04
Tupone Alfredo
No

I tested obexftp with my amd64 laptop. It used to work
when the kernel was 32 bit. Now I'm 64 bit and does not
seem to work anymore. Compilation raise some warning,
about size of variables

Discussion

  • Logged In: YES
    user_id=136432

    Please provide more info about the compile warnings.

     
    • assigned_to: nobody --> zany
    • status: open --> open-accepted
     
  • Tupone Alfredo
    Tupone Alfredo
    2005-08-10

    Logged In: YES
    user_id=76397

    Attaching the output of build

     
  • Tupone Alfredo
    Tupone Alfredo
    2005-08-10

    configure and make output

     
    Attachments
  • Logged In: YES
    user_id=356160

    All warnings in his output are non-critical, so this could
    also be an openobex problem. Maybe he did not recompile
    the lib for 64bit?

    HS

     
  • Tupone Alfredo
    Tupone Alfredo
    2006-01-11

    Logged In: YES
    user_id=76397

    Just an example:
    client.c:215: warning: cast to pointer from integer of
    different size

    I can be wrong, but that appears a normal sizeof(pointer) ==
    sizeof(int) assumption, that is uncorrect on 64 bit
    architecture.

    My distribution is gentoo, source based, and it use to
    compile on my machine any single LOC. Well, could be that
    openobex have used the -m32 compiler option, but I don't
    believe.

     
  • Logged In: YES
    user_id=356160

    integer is always smaller or the same size as a pointer.
    In you case, the pointer has 64bit and the integer 32bit.
    So there's nothing wrong.

     
  • Tupone Alfredo
    Tupone Alfredo
    2006-01-11

    Logged In: YES
    user_id=76397

    I can be wrong again, as I'm not looking at the code now,
    but there is another conversion that gives a warning, where
    a pointer is written to (save as) an integer.

    And probably this is written back to a pointer at the line
    of code I highlighted.

    So a pointer -> int -> pointer is what loose the higher 32 bits.

     
  • Logged In: YES
    user_id=136432

    lacking a x64 platform I performed a through search. I found
    one instance of "strlen(int)". That's a silly typo, it's
    fixed in beta5. If the warnings persist, please post the
    exact line no.

     
    • status: open-accepted --> closed-accepted