This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 4.8 libcpp Issue...Possibly Related To (FIXED)
- From: Cyd Haselton <chaselton at gmail dot com>
- To: "gcc-help at gcc dot gnu dot org" <gcc-help at gcc dot gnu dot org>
- Date: Mon, 28 Oct 2013 13:22:34 -0500
- Subject: Re: GCC 4.8 libcpp Issue...Possibly Related To (FIXED)
- Authentication-results: sourceware.org; auth=none
- References: <CAHu5Pra=xMPYU1=ramkMH+jJyE27CyoGY+C6D-7DttXD8KrWxg at mail dot gmail dot com>
On Sun, Oct 27, 2013 at 6:36 PM, Cyd Haselton <chaselton@gmail.com> wrote:
On Oct 27, 2013 6:36 PM, "Cyd Haselton" <chaselton@gmail.com> wrote:
>
> Android apparently doesn't support implicit conversion so had to do a
> cast before the argument is passed.
>
> I added
>
> off_t ot = (off_t) &file->st.st_size;
>
> before _cpp_convert_input, and passed &ot to argument 7 in _cpp_convert_input.
>
UPDATE: The above modification allowed the build to complete but results in a
bad address error when resulting binaries are run on device.
Will revise and try again...and email gcc-bugs if necessary.
> On Fri, Oct 25, 2013 at 12:34 PM, Cyd Haselton <chaselton@gmail.com> wrote:
>> Thanks to Ian's suggestion, I was able to push past the conversion
>> error with macro.c. Unfortunately two more problems have surfaced.
>>
>> The first happened after "fixing" the macro.c issue; the build
>> continued but then threw a number of undefined errors for functions
>> contained in libcpp when trying to build part of the cc1 binary. I
>> don't have the exact functions; I'll post them if they show up again.
>>
>> Since I'd been making some changes to internal.h and files.c in the
>> interim source directory, I ran make distclean in the build directory,
>> copied the original files over to the interim source, and re-ran
>> configure.
>>
>> The second error appears after the above; make fails after the following error
>>
>> ../../gcc-4.8/libcpp/files.c: In fuction 'bool
>> read_file_guts(cpp_reader*, _cpp_file*)':
>> ../../gcc-4.8/lilbcpp/files/c:723:27: error: cannot convert 'long
>> long int*' to 'off_t* {aka long int*}' for argument '7' to 'unsigned
>> char* _cpp_convert_input(cpp_reader*, const char*, unsigned char*,
>> size_t, size_t, const unsigned char**, off_t*)'
>>
>> I've done some research on this error while trying to resolve this;
>> for Android, off_t is always 32bits and there is an off64_t, but I
>> don't know if the error I'm getting above is because of this fact or
>> something related to the problem I was having with macro.c.
>>
>> Any help is appreciated.