libgloss 負責一些startup code,I/O support。
以下來自於 http://sca.uwaterloo.ca/coldfire/gcc-doc/docs/porting_1.html#SEC1
這個library 來自於newlib,以往,這些部份包含在newlib source中,在newlib只需要支援一種target時,還OK。但是若是要支援很多target,這樣都混一起的方法就會變得很麻煩。
以往 newlib中 和target 相關的source code都放在一個叫"stub"的目錄,最早的時候,這個目錄中有些target的source code都是一個空殼,只是一個return,主要目的是讓 linker 能成功找到需要的function。
漸漸的,newlib支援的target越來越多,stub 目錄下的source code越來越齊全,library 中和hardware (targt)相關的function 都被分離出來放在stub 下。
後來有些計畫(gdb, glibc)發現他們也可以用這個stub 目錄的東西,所以就把stub 目錄從newlib source code中移出,獨立出來。 這樣有很多需要使用stub 目錄的計畫 就不需要把整個newlib 都拉進去。
就這樣stub 被獨立出來,稱作 Libgloss : Gnu Low-level OS support。
沒有留言:
張貼留言