Add newlib patch to RTEMS RSB
Joel Sherrill
joel at rtems.org
Tue Jun 25 12:13:10 UTC 2019
On Fri, Jun 21, 2019 at 9:22 AM Vaibhav Gupta <vaibhavgupta40 at gmail.com>
wrote:
>
>
> On Fri, Jun 21, 2019, 7:19 PM Joel Sherrill <joel at rtems.org> wrote:
>
>>
>>
>> On Fri, Jun 21, 2019 at 3:37 AM Vaibhav Gupta <vaibhavgupta40 at gmail.com>
>> wrote:
>>
>>> Hello,
>>> I figured it out.
>>> .
>>> Below is the output given by shell
>>> ......
>>> ......
>>> ......
>>> config: tools/rtems-gcc-7.4.0-newlib-1d35a003f.cfg
>>> warning: rtems-gcc-7.4.0-newlib-1d35a003f.cfg:29: invalid format:
>>> '%setup patch newlib -p'
>>> *error: gcc-common-1.cfg:80: %patch already setup source: newlib -p1*
>>> Build FAILED
>>> Build Set: Time 0:06:29.257451
>>> Build FAILED
>>> .
>>> .
>>> .
>>> .
>>> I realized, the name of group of my patch and the source of
>>> newlib-source was same in rtems-gcc-7.4.0-newlib-1d35a003f.cfg.
>>> Also, I had put "%patch setup" statement before "%patch add" .
>>> .
>>> .
>>> .
>>> Here is the new git-diff. This got compiled successfully
>>>
>>
>> Great! How is the testing going?
>>
> I have placed ndbm.h in newlib/libc/include directory.
> .
> ndbm.h requires db.h (named as db_local.h in newlib), which is
> present in newlib/libc/search directory.
> This directory also contains hash.h and hash.c which is
> required by ndbm.c
> .
> So gedare suggested me to place ndbm.c in this libc/search
> directory.
> .
> Here, when I compiled newlib for sparc, it was successful and generates
> function symbols.
> .
> But when I added this patch to RSB, and made a sample program calling ndbm
> functions, just to check if it is successful port or not, its showing me
> compile time error.
>
> Error: https://lists.rtems.org/pipermail/devel/2019-June/026271.html
>
Any header files which are included by ndbm.h directly or indirectly must
be available after it is installed. So putting them in libc/search isn't
going to work.
So move the .h files as needed to libc/include and try again.
>
> .
>
>
>> For the RSB until the patch is merged upstream in newlib, it is preferred
>> to get patches from tickets or mailing list posts. Since there is a ticket
>> (2972) for adding ndbm, adding your patch to that and letting the RSB fetch
>> it from there is the right approach.
>>
>> Also there is a ticket #2833 which lists POSIX .h files missing in
>> newlib. It should be updated when all is merged.
>>
>>
>>
>>
>>> diff --git a/rtems/config/tools/rtems-gcc-7.4.0-newlib-1d35a003f.cfg
>>> b/rtems/config/tools/rtems-gcc-7.4.0-newlib-1d35a003f.cfg
>>> index b28a4b1..5c5c346 100644
>>> --- a/rtems/config/tools/rtems-gcc-7.4.0-newlib-1d35a003f.cfg
>>> +++ b/rtems/config/tools/rtems-gcc-7.4.0-newlib-1d35a003f.cfg
>>> @@ -23,6 +23,11 @@
>>> %source set newlib --rsb-file=newlib-%{newlib_version}.tar.gz
>>> https://codeload.github.com/RTEMS/sourceware-mirror-newlib-cygwin/tar.gz/%{newlib_version}
>>> %hash sha512 newlib-%{newlib_version}.tar.gz
>>> eb5943b207eca05fde4497c29491bbd3d07624e4becb410640ae8e177bd9212ca06cf726ee3882d6db5758cd03daf1462715e4b9b404abcc8f7cee5f811fd48b
>>>
>>> +%patch add newlib_ndbm file://0001-Port-ndbm.patch
>>> +%hash sha512 0001-Port-ndbm.patch
>>> 0e05d97d0a6f8a436a233fe4fb3cbda7c0cfeab11cfda1c155d8aa5b80289f386896b0e8c28e5858e1d7409fd22c8d1cbaaccb181bc376845fe6d50b16359db6
>>> +
>>> +%patch setup newlib_ndbm -p1
>>> +
>>> %define isl_version 0.16.1
>>> %hash sha512 isl-%{isl_version}.tar.bz2
>>> c188667a84dc5bdddb4ab7c35f89c91bf15a8171f4fcaf41301cf285fb7328846d9a367c096012fec4cc69d244f0bc9e95d84c09ec097394cd4093076f2a041b
>>>
>>> @@ -40,3 +45,4 @@
>>> %define with_iconv 1
>>>
>>> %include %{_configdir}/gcc-7.2-1.cfg
>>>
>>>
>>> On Fri, Jun 21, 2019 at 4:25 AM Chris Johns <chrisj at rtems.org> wrote:
>>>
>>>> On 21/6/19 4:43 am, Gedare Bloom wrote:
>>>> > On Thu, Jun 20, 2019 at 11:32 AM Vaibhav Gupta <
>>>> vaibhavgupta40 at gmail.com> wrote:
>>>> >> + /bin/cat
>>>> /home/varodek/development/rtems/rsb/rtems/patches/0001-Port-ndbm.patch
>>>> >> + /usr/bin/patch -p3
>>>> >
>>>> > This is the problem, the -p3 is wrong. I don't know where this is
>>>> > coming from though.
>>>>
>>>> This must be from a `%patch` statement. The RSB has no preset patch
>>>> options and
>>>> there is no `-p3` in my repo.
>>>>
>>>> I suggest you run with --trace and then look at the macro maps to see
>>>> where is
>>>> it is coming from.
>>>>
>>>> Chris
>>>>
>>> _______________________________________________
>>> devel mailing list
>>> devel at rtems.org
>>> http://lists.rtems.org/mailman/listinfo/devel
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190625/b16d831c/attachment-0002.html>
More information about the devel
mailing list