Linker does not compress gaps between VLE functions like Reference Manual say

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Linker does not compress gaps between VLE functions like Reference Manual say

跳至解决方案
932 次查看
AndyMax
Contributor III


The "CodeWarrior Development Studio for 
Power Architecture® Processors Build Tools Reference " says:

-func_align
 
     Specifies alignment of functions in executable code.
 
      Syntax
     -func_align 4 | 8 | 16 | 32 | 64 | 128
 
      Remarks
             The default alignment is 4. However, at an optimization level 4, the alignment changes to 16. If you are using -func_align 4 (or none) and if you are compiling for VLE, then the linker will compress gaps between VLE functions:
 • if those functions are not called by a Classic PPC function
 • the function has an alignment greater than 4.

       NOTE    Compression of the gaps will only happen on files compiled by the CodeWarrior compiler.

------------------------

Questions: 

1. Isn't there a contradiction here or how should this be understood?

"If you are using -func_align 4 (or none) and if you are compiling for VLE, then the linker will compress gaps between VLE functions:"
 
" • the function has an alignment greater than 4."


2. What is "Classic PPC function" ?

3. Why I still have gaps "00 00" between functions: I compile VLE code and "Function alignment"(Code Generation->EPPC Processor) in Codewarrior project settings is set to "4 Byte" (check attachments)?

 

 

0 项奖励
回复
1 解答
842 次查看
AndyMax
Contributor III

FORCEFILES { "module.o" }


For some reason it gives the linker the right to forget about his promises. If you have same issue just remove your module name from it.

在原帖中查看解决方案

0 项奖励
回复
3 回复数
843 次查看
AndyMax
Contributor III

FORCEFILES { "module.o" }


For some reason it gives the linker the right to forget about his promises. If you have same issue just remove your module name from it.

0 项奖励
回复
904 次查看
AndyMax
Contributor III

UPD1: I created blank project and fill it with example functions, and this project no generate gaps between functions. I'm keeping play with this

0 项奖励
回复
924 次查看
AndyMax
Contributor III

... attachments ...

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2163980%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E9%93%BE%E6%8E%A5%E5%99%A8%E4%B8%8D%E4%BC%9A%E5%83%8F%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E6%89%80%E8%AF%B4%E7%9A%84%E9%82%A3%E6%A0%B7%E5%8E%8B%E7%BC%A9%20VLE%20%E5%87%BD%E6%95%B0%E4%B9%8B%E9%97%B4%E7%9A%84%E9%97%B4%E9%9A%99%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2163980%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3E%3CBR%20%2F%3E%22%20CodeWarrior%20Power%20Architecture%C2%AE%20%E5%A4%84%E7%90%86%E5%99%A8%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4%3C%2FSPAN%3E%3CSPAN%3E%E7%89%88%E6%9C%AC%E5%B7%A5%E5%85%B7%E5%8F%82%E8%80%83%20%22%20%E8%AF%B4%EF%BC%9A%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%3E%3CFONT%20size%3D%224%22%3E%3CSTRONG%3E-%E5%AF%B9%E9%BD%90%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%E6%8C%87%E5%AE%9A%E5%8F%AF%E6%89%A7%E8%A1%8C%E4%BB%A3%E7%A0%81%E4%B8%AD%E5%87%BD%E6%95%B0%E7%9A%84%E5%AF%B9%E9%BD%90%E6%96%B9%E5%BC%8F%E3%80%82%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3E%20%20%20%20%20%20%E8%AF%AD%E6%B3%95%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20-func_align%204%20%7C%208%20%7C%2016%20%7C%2032%20%7C%2064%20%7C%20128%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSTRONG%3E%20%20%20%20%20%20%E5%A4%87%E6%B3%A8%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%E9%BB%98%E8%AE%A4%E5%AF%B9%E9%BD%90%E6%96%B9%E5%BC%8F%E4%B8%BA%204%E3%80%82%E7%84%B6%E8%80%8C%EF%BC%8C%E5%9C%A8%E4%BC%98%E5%8C%96%E7%BA%A7%E5%88%AB%204%20%E6%97%B6%EF%BC%8C%E6%8E%92%E5%88%97%E5%8F%98%E4%B8%BA%2016%E3%80%82%E5%A6%82%E6%9E%9C%E4%BD%BF%E7%94%A8%20-func_align%204%EF%BC%88%E6%88%96%E6%97%A0%EF%BC%89%EF%BC%8C%E5%B9%B6%E4%B8%94%E6%98%AF%E4%B8%BA%20VLE%20%E7%BC%96%E8%AF%91%EF%BC%8C%E9%82%A3%E4%B9%88%E9%93%BE%E6%8E%A5%E5%99%A8%E5%B0%86%E5%8E%8B%E7%BC%A9%20VLE%20%E5%87%BD%E6%95%B0%E4%B9%8B%E9%97%B4%E7%9A%84%E9%97%B4%E9%9A%99%EF%BC%9A%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E-%20%E5%A6%82%E6%9E%9C%E8%BF%99%E4%BA%9B%E5%87%BD%E6%95%B0%E6%B2%A1%E6%9C%89%E8%A2%AB%E7%BB%8F%E5%85%B8%20PPC%20%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8%3C%2FDIV%3E%3CDIV%3E-%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%AF%B9%E9%BD%90%E6%96%B9%E5%BC%8F%E5%A4%A7%E4%BA%8E%204%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CDIV%20class%3D%22%22%3E%3CP%3E%3CSPAN%3E%20%20%20%20%20%20%20%3CSTRONG%3E%E6%B3%A8%E6%84%8F%20%20%20%20%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%3E%E9%97%B4%E9%9A%99%E5%8E%8B%E7%BC%A9%E4%BB%85%E9%80%82%E7%94%A8%E4%BA%8E%E7%94%B1%20CodeWarrior%20%E7%BC%96%E8%AF%91%E5%99%A8%E7%BC%96%E8%AF%91%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E------------------------%3CBR%20%2F%3E%3CBR%20%2F%3E%E9%97%AE%E9%A2%98%EF%BC%9A%3CBR%20%2F%3E%3CBR%20%2F%3E1.%E8%BF%99%E9%87%8C%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%E7%9F%9B%E7%9B%BE%EF%BC%8C%E6%88%96%E8%80%85%E5%BA%94%E8%AF%A5%E5%A6%82%E4%BD%95%E7%90%86%E8%A7%A3%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%3E%3CSPAN%3E%22%E5%A6%82%E6%9E%9C%E4%BD%BF%E7%94%A8%20-func_align%204%EF%BC%88%E6%88%96%E6%97%A0%EF%BC%89%EF%BC%8C%E5%B9%B6%E4%B8%94%E6%98%AF%E4%B8%BA%20VLE%20%E7%BC%96%E8%AF%91%EF%BC%8C%E9%82%A3%E4%B9%88%E9%93%BE%E6%8E%A5%E5%99%A8%E5%B0%86%E5%8E%8B%E7%BC%A9%20VLE%20%E5%87%BD%E6%95%B0%E4%B9%8B%E9%97%B4%E7%9A%84%E9%97%B4%E9%9A%99%EF%BC%9A%22%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%22%20-%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%AF%B9%E9%BD%90%E6%96%B9%E5%BC%8F%E5%A4%A7%E4%BA%8E%204%E3%80%82%22%3C%2FDIV%3E%3CP%3E%3CSPAN%3E%3CBR%20%2F%3E2%E3%80%82%E4%BB%80%E4%B9%88%E6%98%AF%20%22%20Classic%20PPC%20%E5%87%BD%E6%95%B0%20%22%EF%BC%9F%3CBR%20%2F%3E%3CBR%20%2F%3E3.%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%E5%87%BD%E6%95%B0%E4%B9%8B%E9%97%B4%E8%BF%98%E6%9C%89%E9%97%B4%E9%9A%94%20%22%2000%2000%20%22%EF%BC%9A%E6%88%91%E7%BC%96%E8%AF%91%20VLE%20%E4%BB%A3%E7%A0%81%E5%92%8C%20%22%20%E5%87%BD%E6%95%B0%E5%AF%B9%E9%BD%90%20%22%EF%BC%88%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90-%26gt%3B%20EPPC%20%E5%A4%84%E7%90%86%E5%99%A8%EF%BC%89%E5%9C%A8%20Codewarrior%20%E9%A1%B9%E7%9B%AE%E8%AE%BE%E7%BD%AE%E4%B8%AD%E8%AE%BE%E7%BD%AE%E4%B8%BA%20%22%204%20%E5%AD%97%E8%8A%82%20%22%EF%BC%88%E6%9F%A5%E7%9C%8B%E9%99%84%E4%BB%B6%EF%BC%89%EF%BC%9F%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3C%2FDIV%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2164637%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Linker%20does%20not%20compress%20gaps%20between%20VLE%20functions%20like%20Reference%20Manual%20say%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2164637%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSTRONG%3EFORCEFILES%20%7B%22module.o%22%7D%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%E5%87%BA%E4%BA%8E%E6%9F%90%E7%A7%8D%E5%8E%9F%E5%9B%A0%EF%BC%8C%E9%93%BE%E6%8E%A5%E8%80%85%E6%9C%89%E6%9D%83%E5%BF%98%E8%AE%B0%E8%87%AA%E5%B7%B1%E7%9A%84%E6%89%BF%E8%AF%BA%E3%80%82%E5%A6%82%E6%9E%9C%E6%82%A8%E9%81%87%E5%88%B0%E5%90%8C%E6%A0%B7%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%8C%E5%8F%AA%E9%9C%80%E5%88%A0%E9%99%A4%E6%A8%A1%E5%9D%97%E5%90%8D%E7%A7%B0%E5%8D%B3%E5%8F%AF%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2164073%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Linker%20does%20not%20compress%20gaps%20between%20VLE%20functions%20like%20Reference%20Manual%20say%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2164073%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%9B%B4%E6%96%B0%201%EF%BC%9A%20%E6%88%91%E5%88%9B%E5%BB%BA%E4%BA%86%E7%A9%BA%E7%99%BD%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%B9%B6%E7%94%A8%E7%A4%BA%E4%BE%8B%E5%87%BD%E6%95%B0%E8%BF%9B%E8%A1%8C%E4%BA%86%E5%A1%AB%E5%85%85%EF%BC%8C%E8%AF%A5%E9%A1%B9%E7%9B%AE%E5%9C%A8%E5%87%BD%E6%95%B0%E4%B9%8B%E9%97%B4%E6%B2%A1%E6%9C%89%E4%BA%A7%E7%94%9F%E9%97%B4%E9%9A%99%E3%80%82%E6%88%91%E7%BB%A7%E7%BB%AD%E7%8E%A9%E8%BF%99%E4%B8%AA%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2163992%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Linker%20does%20not%20compress%20gaps%20between%20VLE%20functions%20like%20Reference%20Manual%20say%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2163992%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E...%20%E9%99%84%E4%BB%B6%20...%3C%2FP%3E%3C%2FLINGO-BODY%3E