Displaying 20 results from an estimated 8000 matches similar to: "Distinguish between ARM and Thumb"
2018 Nov 08
2
Compile with both arm and thumb mode
Hi
I would like to use clang to cross compile the ARM binary. I hope the
target binary contains both arm and thumb instruction sets.
I use the flag -mhwdiv=arm,thumb. I compiled several binaries. However, I
found that the thumb mode instructions are few. Even for very big program
like gcc. The number of thumb mode instruction is less than 100. I get the
ground truth from the mapping table.
2011 May 13
7
[LLVMdev] [Patch] Let MC/ELF generate Thumb/Thumb-2 are properly
Hi,
We are trying to use clang as a drop-in replacement for the gcc come with
Android NDK. I found that MC/ELF doesn't not handle Thumb functions properly,
e.g., bit 0 of the function name in the .symtab is not set to 1, and some thumb
instructions are not generated correctly, e.g., the addresses for tBL/tBLX are
not calculated right.
With that attached patch, we can compile and run some
2011 May 13
0
[LLVMdev] [Patch] Let MC/ELF generate Thumb/Thumb-2 are properly
Hi Koan,
In general, this looks OK to me. Please split the patch into separate pieces, one for each issue you're addressing, though. From your description, it sounds like this should be 4 patches. That way we have a cleaner revision history in svn.
-Jim
On May 12, 2011, at 10:42 PM, Koan-Sin Tan wrote:
> Hi,
>
> We are trying to use clang as a drop-in replacement for the gcc come
2018 Feb 27
2
Level of support for ARM LLD
On 27 February 2018 at 05:29, Peter Smith via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> I've got some downstream patches
> for v5 and v6 support (limit branch range, and use different
> instructions in stubs), however I don't think anyone has actually
> needed support yet.
For FreeBSD we're on a path to having Clang + lld as our toolchain for
all Tier-1
2020 Aug 03
2
LLD symbol types for defsym
I noticed that LLD doesn’t preserve the symbol type for a defsym directive. For example:
$ cat f.c
void f() {}
$ clang -c f.c
$ ld.lld -shared --defsym=g=f f.o
$ objdump -T a.out
DYNAMIC SYMBOL TABLE:
00000000000012a0 g DF .text 0000000000000006 f
00000000000012a0 g D .text 0000000000000000 g
f is marked as a function symbol, but g is not.
I recognize this is hard to do in the general
2011 May 16
0
[LLVMdev] [Patch] Let MC/ELF generate Thumb/Thumb-2 are properly
splited patches and test cases
mc-elf-thumbfunction-bit.diff: for 1
mc-elf-arm-backend-bl-blx-sign-bit.diff: for 2.
mc-elf-thumb-bl-blx-relocation-table-entry.diff: for 3.
mc-elf-cpu-xscale-attributes.diff: for 4.
elf-thumbfunc.s: test case for 1
elf-thumbfunc-reloc.ll: test case for 2 and 3
elf-xscale-attribute.ll: test case for 4
On Fri, May 13, 2011 at 1:42 PM, Koan-Sin Tan <koansin.tan
2018 Jun 26
2
Instruction boundaries
There should be a line-table entry for the end of the function, which appears to be missing from the dump you provided. llvm-dwarfdump should report this address with 'end_sequence' in the Flags. Are you using a different dumper?
I am not sure but my guess would be that inline data is not represented in the line table. The line table's primary purpose is to inform the debugger
2018 Nov 03
2
llvm bug 36466 fix
Hi Dave
Sorry, I meant the hardware you're using to compile LLVM - you mentioned it
took you a long time to rebuild it so it would be hard for you to
write/experiment on tests.
=============================
Compiling LLVM doesn't take me too much time(less than 2 hours). The
hardware is good enough and I am using interl E5 CPU. What I mean is that
it took me a long time to analysis the
2018 Jun 26
2
Instruction boundaries
I'm not familiar with the target instruction set, but if "MOV PC, R0" is not a return instruction, I'm guessing that the sequence starting at A39C is a dispatch through a jump table. The jump table would be considered part of the instruction stream and included in the scope of the line table. This is not a case where you would see end_sequence; my mistake.
The line table does
2018 Jun 01
3
Function start address
Hi
I am using LLVM Pass combined with dwarf debug information to get all the
function's start address. My steps are below:
First, I write the function pass to get the start line of each function,
which is finished.
Then, based on the start line of every single function, I try to query the
specific line from the dwarf's line binary table, which is generated with
llvm-dwarfdump
2018 Nov 03
2
llvm bug 36466 fix
Hi Dave
I am not going to access any hardware. I am using clang to analysis the ARM
binaries. The binary is 483.xalancbmk in CPU SPEC2006. When I use the
optimization O0, no crash will occur. The crash occurs when I set
optimization level as O1,O2,O3 and Os.
If I have to recompile and rerun the tests. What version of llvm is
suggested. It would be better if anyone could provide the patch on this
2018 May 22
2
LLVM dwarf info is not complete
Hi
I am using llvm-dwarfdump to dump the line table with -debug-line option. I
compiled my program with -gdwarf-3.
I first get the line number and source number for every instruction of the
LLVM IR with metadata. Then I try to find the corresponding binary address
from the dwarf debug info. However, I noticed that the dwarf table might
not always return me the answer and some of the source line
2018 Jun 02
2
Function start address
Hi
Actually, No particular reason. I just think this might be a solution, then
I use think kind of method. Querying the symbol table would be a good
choice, but I prefer to use LLVM and dwarf information. I am sorry that I
am not familiar with debug_info. But thanks to your suggestions. I would
like to try to solve it with debug_info. It seems work according to your
comments
By the way, I am
2015 Sep 16
3
Arm: disabling/disallowing Thumb instructions
Hi all,
When I use Clang, I can add -mno-thumb to the command line and Clang
generates pure Arm code without any use of Thumb instructions.
However, I am messing about with the Glasgow Haskell Compiler (GHC)
which generates LLVM IR code directly and then calls `opt` and `llc` on
that IR code. The generated IR code currently has:
target datalayout =
2018 Jun 26
2
Instruction boundaries
Hi paulr
Thanks for your reply. Though DWARF info give me the code address ranges,
there might be inline data. If so, how to handle this case?
As for the dwarf line table. Sometimes, the source line might be zero. Do
you know why? If all instructions should be describe in the line table, I
think analyzing Dwarf line table is enough to get all the instructions
addresses. Do you agree?
I would
2018 May 22
0
LLVM dwarf info is not complete
> On May 22, 2018, at 8:06 AM, Muhui Jiang via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hi
>
> I am using llvm-dwarfdump to dump the line table with -debug-line option. I compiled my program with -gdwarf-3.
>
> I first get the line number and source number for every instruction of the LLVM IR with metadata. Then I try to find the corresponding binary address
2018 Nov 03
2
llvm bug 36466 fix
Hi
I come across the following exception when I use the llvm-dwarfdump
-debug-info target_binary:
llvm-dwarfdump: /home/linux/llvm-7/llvm/lib/MC/MCRegisterInfo.cpp:87: int
llvm::MCRegisterInfo::getLLVMRegNum(unsigned int, bool) const: Assertion `I
!= M+Size && I->FromReg == RegNum && "Invalid RegNum"' failed.
Stack dump:
0. Program arguments:
2014 Aug 06
4
[LLVMdev] Looking for ideas on how to make llvm-objdump handle both arm and thumb disassembly from the same object file
Hello Tim, Rafael, Renato and llvmdev,
I’m working to get llvm-objdump handle both arm and thumb disassembly from the same object file similarly to how darwin’s otool(1) works. And I’m looking for implementing direction. I spoke to Jim Grosbach about some ideas and he suggested I send out and email about some of the possibilities. Since none of the ones I could think of are pretty he thought
2015 Jul 03
2
[LLVMdev] Request for help: why does the program link correctly?
Jim, I didn’t understood why foo is not marked with type 'FUNC'.
At least as per elf standard symbol foo should be marked as 'FUNC'
STT_FUNC: The symbol is associated with a function or other executable code.
Regards,
Ashutosh
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Jim Grosbach
Sent: Friday, July
2017 May 02
4
[ARM/Thumb] Make a function in arm while in Thumb triple
Hi,
I wanted to know if it was possible to force ARM backend to compile a
function in ARM while the rest is in Thumb mode.
I tried the attributes which is used in GCC but it doesn't work.
Here is what I tried:
https://pastebin.com/jCr5LPUY
Thanks in advance,
Uvekilledkenny
-------------- next part --------------
An HTML attachment was scrubbed...
URL: