Ah yeah I've always found the inline keyword a bit confusing but revisiting
some documentation it does make sense in a case such as this.

Also, hah ! I'm not sure why, but I read "*arch/arm/kernel/" *as if you
were using arch ( the distro ) . . . silly me.

I also did a google search on various parts of the output you pasted, and
nothing relevant came to my attention.  I was hoping to help, and in the
process learn something new myself . . . as in my nature, but it seems in
this case I was not quite so helpful. One thing I did notice. Was that this
must be a very new "issue". Some searches only yielded this post, and mail
archive posts related to this. e.g. 1-3 total hits depending on which part
of the output to search for.

Anyway, if you figure it out let us know :)

On Fri, Jul 3, 2015 at 7:47 PM, Dallas Clement <[email protected]>
wrote:

> Hi William.  Thanks for the reply.  I think the more important thing is
> that this function should be declared "inline".  Adding this to these
> functions in of.h seems to allow the kernel to compile successfully without
> multiple declaration issues.
>
> Btw, this problem is very easy to reproduce.
>
> Just do the following on the 4.1 branch.
>
> ARCH=arm make omap2plus_defconfig
>
> ARCH=arm
> CROSS_COMPILE=../dl/gcc-linaro-4.9-2015.02-3-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
> make zImage
>
> On Friday, July 3, 2015 at 9:02:05 PM UTC-5, William Hermans wrote:
>>
>> Sorry function *or* global variable would be more correct.
>>
>> On Fri, Jul 3, 2015 at 6:58 PM, William Hermans <[email protected]> wrote:
>>
>>> Also, the static keyword in this context would be meant to limit scope
>>> of a function to the file in which is resides, It does not seem correct to
>>> me, but that does not mean I'm right either.
>>>
>>> On Fri, Jul 3, 2015 at 6:56 PM, William Hermans <[email protected]>
>>> wrote:
>>>
>>>> *arch/arm/kernel/time.o:* In function `of_changeset_add_property_u32':
>>>>
>>>> /*home/dallas/projects/**mineredge/me-1.6/standard-*
>>>> *firmware/buildroot/output/**build/linux-4.1/include/linux/**of.h:1116*:
>>>> multiple definition of `of_changeset_add_property_u32'
>>>>
>>>> So, I do not know everything when it comes to building the kernel. You
>>>> definitely have multiple definitions happening between object / header
>>>> files.
>>>>
>>>> What is the correlation between arch/arm/kernel/ and the header files
>>>> in your home directory ? Do you have multiple sets of kernel files on the
>>>> system ( for the BBB, for different kernels ) and in use ? If so may have
>>>> the path to the header files set incorrectly, for the kernel you're trying
>>>> to build. If the path is set correctly, then "make clean" before running
>>>> "make" may be in order.
>>>>
>>>> Unfortunately, I am not all that familiar with buildroot, or arch so I
>>>> suppose this could be desired behavior ( your directory structure ), but
>>>> from the outside looking in, it seems suspect.
>>>>
>>>> On Fri, Jul 3, 2015 at 4:49 PM, Dallas Clement <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I attempted to upgrade from the kernel from 3.14 to 4.1 today.  I'm
>>>>> getting some compilation issues which seem to be caused by certain
>>>>> dynamically generated function definitions not being declared static 
>>>>> inline
>>>>> in include/linux/of.h.  If I hand edit this file and add a static inline 
>>>>> in
>>>>> front of the function definitions, compilation proceeds successfully with
>>>>> no errors.  It looks like maybe these functions are added dynamically to
>>>>> this header file during compilation.
>>>>>
>>>>> arch/arm/kernel/time.o: In function `of_changeset_add_property_u32':
>>>>> /home/dallas/projects/mineredge/me-1.6/standard-firmware/buildroot/output/build/linux-4.1/include/linux/of.h:1116:
>>>>> multiple definition of `of_changeset_add_property_u32'
>>>>> arch/arm/kernel/setup.o:/home/dallas/projects/mineredge/me-1.6/standard-firmware/buildroot/output/build/linux-4.1/include/linux/of.h:1116:
>>>>> first defined here
>>>>> arch/arm/kernel/time.o: In function `of_changeset_add_property_copy':
>>>>> /home/dallas/projects/mineredge/me-1.6/standard-firmware/buildroot/output/build/linux-4.1/arch/arm/kernel/time.c:61:
>>>>> multiple definition of `of_changeset_add_property_copy'
>>>>> arch/arm/kernel/setup.o:/home/dallas/projects/mineredge/me-1.6/standard-firmware/buildroot/output/build/linux-4.1/arch/arm/kernel/setup.c:1116:
>>>>> first defined here
>>>>> arch/arm/kernel/time.o: In function `of_changeset_add_property_string':
>>>>> /home/dallas/projects/mineredge/me-1.6/standard-firmware/buildroot/output/build/linux-4.1/include/linux/of.h:1089:
>>>>> multiple definition of `of_changeset_add_property_string'
>>>>> arch/arm/kernel/setup.o:/home/dallas/projects/mineredge/me-1.6/standard-firmware/buildroot/output/build/linux-4.1/include/linux/of.h:1089:
>>>>> first defined here
>>>>> arch/arm/kernel/time.o: In function `of_changeset_add_property_bool':
>>>>> /home/dallas/projects/mineredge/me-1.6/standard-firmware/buildroot/output/build/linux-4.1/include/linux/of.h:1122:
>>>>> multiple definition of `of_changeset_add_property_bool'
>>>>> arch/arm/kernel/setup.o:/home/dallas/projects/mineredge/me-1.6/standard-firmware/buildroot/output/build/linux-4.1/include/linux/of.h:1122:
>>>>> first defined here
>>>>> arch/arm/kernel/time.o: In function
>>>>> `of_changeset_add_property_string_list':
>>>>> /home/dallas/projects/mineredge/me-1.6/standard-firmware/buildroot/output/build/linux-4.1/include/linux/of.h:1110:
>>>>> multiple definition of `of_changeset_add_property_string_list'
>>>>> arch/arm/kernel/setup.o:/home/dallas/projects/mineredge/me-1.6/standard-firmware/buildroot/output/build/linux-4.1/include/linux/of.h:1110:
>>>>> first defined here
>>>>>
>>>>> Would appreciate any help anyone can provide.
>>>>>
>>>>> Dallas
>>>>>
>>>>> --
>>>>> For more options, visit http://beagleboard.org/discuss
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "BeagleBoard" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>
>>  --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to the Google Groups
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to