Hi, all, Currently, the nds32 port on trunk only supports 512K or 4G addressing space to access data by specifying -mgp-direct/-mno-gp-direct option. And the range of text section is always assumed to be within 16M addressing space.
However, sometimes we may have large programs or sometimes we may have small programs but with read-only data beyond 512K range. The settings in current nds32 port are not sufficient to satisfy varied requirement of different project. To fix this issue, we are going to use -mcmodel=X options, which probably gives more flexibility to support varied code model on code generation. The -mgp-direct option now becomes meaningless and can be discarded. I split the changes into several commits so that ones can easily review the particular purpose of each patch. The following is a series of patches: [1/6] https://gcc.gnu.org/ml/gcc-patches/2015-01/msg00792.html [2/6] https://gcc.gnu.org/ml/gcc-patches/2015-01/msg00794.html [3/6] https://gcc.gnu.org/ml/gcc-patches/2015-01/msg00795.html [4/6] https://gcc.gnu.org/ml/gcc-patches/2015-01/msg00796.html [5/6] https://gcc.gnu.org/ml/gcc-patches/2015-01/msg00797.html [6/6] https://gcc.gnu.org/ml/gcc-patches/2015-01/msg00798.html Best regards, jasonwucj