diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2015-02-23 16:44:16 +0800 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2015-12-02 15:59:38 +1100 |
commit | 32fa1ca460c5cfed63c29c4eefc10cdb2aac3962 (patch) | |
tree | db2381dc166f296d6a95c61864090296e836b701 /Makefile.main | |
parent | 467c017502542b34c9cad5c79cd31b84fb1c94bd (diff) | |
download | skiboot-32fa1ca460c5cfed63c29c4eefc10cdb2aac3962.zip skiboot-32fa1ca460c5cfed63c29c4eefc10cdb2aac3962.tar.gz skiboot-32fa1ca460c5cfed63c29c4eefc10cdb2aac3962.tar.bz2 |
libflash: Provide an internal parity implementation, to remove libgcc dependency
In commit 8f5b8616, we introduced a dependency on libgcc, for the
__builtin_parityl() function in commit 6cfaa3ba.
However, if we're building with a biarch compiler, we may not have a
libgcc available.
This commit removes the __builtin_parityl() call, and replaces with the
equivalent instructions, and removes the dependency on libgcc.
Although this is untested, I have confirmed that the __builtin_parityl()
functions emits the same instructions (on power7 and power8, with
gcc-4.9) as we're using in the parity() function.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
[stewart@linux.vnet.ibm.com: only use inline asm for skiboot build]
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'Makefile.main')
-rw-r--r-- | Makefile.main | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Makefile.main b/Makefile.main index a5eb01e..b206ee1 100644 --- a/Makefile.main +++ b/Makefile.main @@ -157,7 +157,6 @@ OBJS += $(LIBPORE) endif OBJS += $(LIBC) $(CCAN) $(DEVSRC_OBJ) OBJS_NO_VER = $(OBJS) -EXTRA_LIBS = -Wl,-lgcc ALL_OBJS = $(OBJS) version.o ALL_OBJS_1 = $(ALL_OBJS) asm/dummy_map.o @@ -167,12 +166,12 @@ $(TARGET).lid: $(TARGET).elf $(call Q,OBJCOPY, $(OBJCOPY) -O binary -S $^ $@, $@) $(TARGET).tmp.elf: $(ALL_OBJS_1) $(TARGET).lds $(KERNEL) - $(call Q,LD, $(CC) $(LDFLAGS) -T $(TARGET).lds $(ALL_OBJS_1) $(EXTRA_LIBS) -o $@, $@) + $(call Q,LD, $(CC) $(LDFLAGS) -T $(TARGET).lds $(ALL_OBJS_1) -o $@, $@) asm/real_map.o : $(TARGET).tmp.map $(TARGET).elf: $(ALL_OBJS_2) $(TARGET).lds $(KERNEL) - $(call Q,LD, $(CC) $(LDFLAGS) -T $(TARGET).lds $(ALL_OBJS_2) $(EXTRA_LIBS) -o $@, $@) + $(call Q,LD, $(CC) $(LDFLAGS) -T $(TARGET).lds $(ALL_OBJS_2) -o $@, $@) $(SUBDIRS): $(call Q,MKDIR,mkdir $@, $@) |