Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • main
1 result

Target

Select target project
  • samuel.hym/ld-bug
1 result
Select Git revision
  • main
1 result
Show changes
Commits on Source (2)
main.o
main
image: alpine:latest
test:
script:
- apk add gcc binutils
- ld --version
- gcc -Wall -Wextra -c bug.c
- ld -Tbug.ld -q bug.o -o bug
ARCH_DEPENDENT = arm-none-eabi-
CC = $(ARCH_DEPENDENT)gcc
LD = $(ARCH_DEPENDENT)ld
CFLAGS_COMMON = -Wall
CFLAGS_COMMON += -Wextra
CFLAGS_COMMON += -Werror
CFLAGS_COMMON += -mthumb
CFLAGS_COMMON += -mcpu=cortex-m4
CFLAGS_PIC = $(CFLAGS_COMMON)
#CFLAGS_PIC += -msingle-pic-base
#CFLAGS_PIC += -mpic-register=r10
#CFLAGS_PIC += -mno-pic-data-is-text-relative
#CFLAGS_PIC += -fPIC
LDFLAGS = -Tlink.ld
LDFLAGS += -q
SRC = main.c
OBJ = $(SRC:.c=.o)
EXEC = main
all: $(EXEC)
$(EXEC): $(OBJ)
$(LD) $(LDFLAGS) $^ -o $@
%.o: %.c
$(CC) $(CFLAGS_PIC) -c $< -o $@
realclean:
rm -f $(EXEC) $(OBJ)
.PHONY: all realclean
void *ptr = &ptr;
SECTIONS
{
.rel : { *(.data*) }
}
ENTRY(main)
SECTIONS
{
.text :
{
*(.text*)
}
.relocate :
{
*(.data*)
}
}
int foovar = 5;
int *fooptr = &foovar;
int main()
{
return 0;
}