📄 arm.html
字号:
<html lang="en">
<head>
<title>Untitled</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Untitled">
<meta name="generator" content="makeinfo 4.3">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home">
</head>
<body>
<div class="node">
<p>
Node:<a name="ARM">ARM</a>,
Next:<a rel="next" accesskey="n" href="HPPA-ELF32.html#HPPA%20ELF32">HPPA ELF32</a>,
Previous:<a rel="previous" accesskey="p" href="i960.html#i960">i960</a>,
Up:<a rel="up" accesskey="u" href="Machine-Dependent.html#Machine%20Dependent">Machine Dependent</a>
<hr><br>
</div>
<h3 class="section"><code>ld</code>'s support for interworking between ARM and Thumb code</h3>
<p>For the ARM, <code>ld</code> will generate code stubs to allow functions calls
betweem ARM and Thumb code. These stubs only work with code that has
been compiled and assembled with the <code>-mthumb-interwork</code> command
line option. If it is necessary to link with old ARM object files or
libraries, which have not been compiled with the -mthumb-interwork
option then the <code>--support-old-code</code> command line switch should be
given to the linker. This will make it generate larger stub functions
which will work with non-interworking aware ARM code. Note, however,
the linker does not support generating stubs for function calls to
non-interworking aware Thumb code.
<p>The <code>--thumb-entry</code> switch is a duplicate of the generic
<code>--entry</code> switch, in that it sets the program's starting address.
But it also sets the bottom bit of the address, so that it can be
branched to using a BX instruction, and the program will start
executing in Thumb mode straight away.
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -