Displaying 5 results from an estimated 5 matches for "externally_initialized".
2015 Aug 28
7
Clearing the BSS section
Hi,
I am writing a function that clears the BSS section on an Cortex-M4 embedded system.
The LLVM (version 3.7.0rc3) code I had wrote is :
;------------
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
target triple = "thumbv7em-none--eabi"
@__bss_start = external global i32
@__bss_end = external global i32
define void @clearBSS () nounwind {
entry:
2020 Jul 26
2
[LAA] RtCheck on pointers of different address spaces.
...------------------------------------
%struct_var1 = type { <2 x float> }
%struct_var2 = type { %struct_var1 }
%class_var1 = type { i32, i32, i32, %struct_var2*, i32, i32, i32}
%class_var2 = type { %class_var1, i8, i8*, i32 }
Objects:
@Obj1 = external protected local_unnamed_addr addrspace(4) externally_initialized global %class_var2, align 8
@Obj2 = internal unnamed_addr addrspace(3) constant [4000 x float] undef, align 16
Pointers:
1. %struct_var1.cast = bitcast %struct_var1* %struct_var2.gep to i64* (write) // AS1
2. %struct_var2.cast = bitcast %struct_var2* %arrayidx74 to i64* (read-o...
2015 Dec 04
3
[RFC][ARM] Add support for embedded position-independent code (ROPI/RWPI)
...mic initiaslisers will be smaller than
the equivalent dynamic linker plus relocation and symbol tables.
If a variable with an initialiser that needs lowering is declared with a
const-qualified type, we must emit it as a non-constant so that it gets
put into writable memory. I'm using the "externally_initialized" flag to
prevent the optimiser from being able to turn dynamic initialisers back
into static ones.
Making a variable non-const can cause a chain of variables to need
initialisers in RWPI-only mode. For example:
extern int a;
static int * const b = &a;
static int * const * const c =...
2020 Jul 26
2
[LAA] RtCheck on pointers of different address spaces.
...------------------------------------
%struct_var1 = type { <2 x float> }
%struct_var2 = type { %struct_var1 }
%class_var1 = type { i32, i32, i32, %struct_var2*, i32, i32, i32}
%class_var2 = type { %class_var1, i8, i8*, i32 }
Objects:
@Obj1 = external protected local_unnamed_addr addrspace(4) externally_initialized global %class_var2, align 8
@Obj2 = internal unnamed_addr addrspace(3) constant [4000 x float] undef, align 16
Pointers:
1. %struct_var1.cast = bitcast %struct_var1* %struct_var2.gep to i64* (write) // AS1
2. %struct_var2.cast = bitcast %struct_var2* %arrayidx74 to i64* (read-o...
2017 Apr 04
3
RFC: Adding a string table to the bitcode format
On Tue, Apr 4, 2017 at 12:36 PM, Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:
>
> On 2017-Apr-04, at 12:12, Peter Collingbourne <peter at pcc.me.uk> wrote:
>
> On Mon, Apr 3, 2017 at 8:13 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>
>>
>> On Apr 3, 2017, at 7:08 PM, Peter Collingbourne <peter at pcc.me.uk> wrote:
>>