Roll Bionic
Roll Bionic

commit 18aa25e10e0ca4807c3913edb9291137e811a831
Author: Noel Allen <noelallen@chromium.org>
Date:   Fri May 16 17:49:51 2014 -0700

    Fix bad 32->64 conversion in linker.

    lseek(fd, -sizeof(X), SEEK_END) fails because sizeof return 32bit while
    lseek expects off_t which is 64 bit.  The unary operator happens first
    returning an unsigned long which is then converted to 64bit without
    sign extension.

    Unfortunately -Wall wont find this since it's perfectly legal, but
    added -Wall anyway to help find other possible issues.

    Cleaned up all warnings.
    Converted linker.cpp to linker.c by adding "struct" where needed.

    Added lfind and lsearch along with test for glibc_compat.

TBR=mcgrathr@chromium.org
BUG=none

Review URL: https://codereview.chromium.org/291673002

git-svn-id: 721b910a23eff8a86f00c8fd261a7587cddf18f8@13199 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2

sbc100/native_client,sbc100/native_client,sbc100/native_client,sbc100/native_client,sbc100/native_client,sbc100/native_client