Properly building newlib to install spec files

Joel Sherrill joel@rtems.org
Sun Oct 20 19:28:00 GMT 2019


I was lucky enough to see Mojca this weekend and spent a few minutes with
her. I can't speak to the msp430 directly but the build was not putting
libgloss under the gcc source directory with newlib. That is needed so the
one tree build can pick it up.

She was headed to the airport and the build didn't finish but hopefully
that was the biggest issue.

When I get home, I am sending her my simple shell scripts to build the bare
metal gcc targets that I use when testing the master.

--joel

On Sun, Oct 20, 2019, 9:21 PM Orlando Arias <orlandoarias@gmail.com> wrote:

> Greetings,
>
> I was under the impression that the nosys.specs file was no longer
> provided for the msp430-elf target in light of the CIO interface being
> added [1][2]. Please correct me if I'm wrong on this.
>
> Cheers,
> Orlando.
>
> [1] https://sourceware.org/ml/newlib/2015/msg00926.html
> [2] https://sourceware.org/ml/newlib/2015/msg00923.html
>
> On October 20, 2019 3:40:17 PM UTC, Mojca Miklavec <mojca@macports.org>
> wrote:
>>
>> Hi,
>>
>> I'm sorry for replying after such a long time, but I could not exactly
>> figure out what I was doing wrong until Joel today pointed out a dirty
>> simple little trick: I just had to make a symlink from gcc sources to
>> libgloss in order to install all the spec files ... and that solution
>> automatically worked, without the need to rebuild gcc the second time
>> (which would cause me a lot of headaches both in terms of
>> bootstrapping and compile times).
>>
>> So basically just a matter of
>>     cd gcc-9.2.0
>>     ln -s ../newlib-3.1.0/libgloss .
>>
>> We were already using
>>     ln -s ../newlib-3.1.0/newlib .
>> just not the libgloss thing.
>>
>> It would be awesome if this was documented somewhere for complete newbies :)
>>
>> I'll update all our cross-compilers to fix this.
>>
>> Thank you very much,
>>     Mojca
>>
>> On Mon, 7 Jan 2019 at 21:50, Jeff Johnston <jjohnstn@redhat.com> wrote:
>>
>>>
>>>  If you build and install the various components to the same installation directory, it should just work.
>>>
>>>  See: https://gist.github.com/resetnow/1b55beed32f3eb3f90513896565ef5c0
>>>
>>>  (your gcc compiler config options may vary)
>>>
>>>  If a spec file is installed somewhere else, you can use the -B option on the compile to specify a location for gcc to look for it.
>>>
>>>  -- Jeff J.
>>>
>>>  On Sat, Jan 5, 2019 at 4:20 PM Mojca Miklavec <mojca@macports.org> wrote:
>>>
>>>>
>>>>  Hi,
>>>>
>>>>  I'm fixing some packages for a package manager. I think I have a bunch
>>>>  of various working gcc crosscompilers, but if I try to test something
>>>>  like
>>>>
>>>>  $ msp430-elf-gcc -mmcu=msp430g2211 -specs=nosys.specs -o test.elf test.c
>>>>  msp430-elf-gcc: error: nosys.specs: No such file or directory
>>>>
>>>>  apparently the specs files are missing.
>>>>
>>>>  I'm creating a symlink from gcc to newlib and build gcc with
>>>>  --with-newlib, but apparently the files don't get installed. I noticed
>>>>  that random instructions suggest separately building:
>>>>  - first gcc
>>>>  - then newlib
>>>>  - then gcc again
>>>>  http://www.ifp.illinois.edu/~nakazato/tips/xgcc.html#gccagain
>>>>
>>>>  while other instructions say to use just --with-newlib.
>>>>
>>>>  Can you please advise me how to build newlib in a proper way, so that
>>>>  the spec files will be installed? Where should they usually end up?
>>>>
>>>>  Thank you very much,
>>>>      Mojca
>>>>
>>>
> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.
>



More information about the Newlib mailing list