mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-11-16 12:34:45 +00:00
2008-03-11 Joel Sherrill <joel.sherrill@OARcorp.com>
* custom/av5282.cfg, custom/bare.cfg, custom/default.cfg, custom/gba.cfg, custom/gp32.cfg, custom/i386ex.cfg, custom/idp.cfg, custom/mbx8xx.cfg, custom/mcf5235.cfg, custom/mcp750.cfg, custom/mrm332.cfg, custom/mtx603e.cfg, custom/mvme136.cfg, custom/mvme147.cfg, custom/mvme162.cfg, custom/mvme162lx.cfg, custom/mvme167.cfg, custom/mvme2100.cfg, custom/mvme2307.cfg, custom/mvme3100.cfg, custom/mvme5500.cfg, custom/nios2_iss.cfg, custom/pc386.cfg, custom/posix.cfg, custom/score603e.cfg, custom/sim68000.cfg, custom/simcpu32.cfg, custom/ss555.cfg, custom/ts_386ex.cfg, custom/uC5282.cfg, custom/virtex.cfg: Switch to explicit .exe instead of EXEEXT to get it to work.
This commit is contained in:
@@ -1,3 +1,17 @@
|
||||
2008-03-11 Joel Sherrill <joel.sherrill@OARcorp.com>
|
||||
|
||||
* custom/av5282.cfg, custom/bare.cfg, custom/default.cfg,
|
||||
custom/gba.cfg, custom/gp32.cfg, custom/i386ex.cfg, custom/idp.cfg,
|
||||
custom/mbx8xx.cfg, custom/mcf5235.cfg, custom/mcp750.cfg,
|
||||
custom/mrm332.cfg, custom/mtx603e.cfg, custom/mvme136.cfg,
|
||||
custom/mvme147.cfg, custom/mvme162.cfg, custom/mvme162lx.cfg,
|
||||
custom/mvme167.cfg, custom/mvme2100.cfg, custom/mvme2307.cfg,
|
||||
custom/mvme3100.cfg, custom/mvme5500.cfg, custom/nios2_iss.cfg,
|
||||
custom/pc386.cfg, custom/posix.cfg, custom/score603e.cfg,
|
||||
custom/sim68000.cfg, custom/simcpu32.cfg, custom/ss555.cfg,
|
||||
custom/ts_386ex.cfg, custom/uC5282.cfg, custom/virtex.cfg: Switch to
|
||||
explicit .exe instead of EXEEXT to get it to work.
|
||||
|
||||
2008-03-06 Till Straumann <strauman@slac.stanford.edu>
|
||||
|
||||
* custom/mvme3100.cfg: Fixed typo, 'endef' not 'endif'.
|
||||
|
||||
@@ -25,5 +25,5 @@ endif
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O binary --strip-all \
|
||||
$(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
$(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
|
||||
@@ -28,14 +28,14 @@ START_BASE=
|
||||
|
||||
define make-exe
|
||||
@echo "*** Cannot do a link with the bare bsp. ***"
|
||||
@echo "#!/bin/sh" > $(basename $@)$(EXEEXT)
|
||||
@echo "echo \"Cannot do a link with the bare bsp.\"" >> $(basename $@)$(EXEEXT)
|
||||
@echo "#!/bin/sh" > $(basename $@).exe
|
||||
@echo "echo \"Cannot do a link with the bare bsp.\"" >> $(basename $@).exe
|
||||
endef
|
||||
|
||||
define make-cxx-exe
|
||||
@echo "*** Cannot do a link with the bare bsp. ***"
|
||||
@echo "#!/bin/sh" > $(basename $@)$(EXEEXT)
|
||||
@echo "echo \"Cannot do a link with the bare bsp.\"" >> $(basename $@)$(EXEEXT)
|
||||
@echo "#!/bin/sh" > $(basename $@).exe
|
||||
@echo "echo \"Cannot do a link with the bare bsp.\"" >> $(basename $@).exe
|
||||
endef
|
||||
|
||||
# Miscellaneous additions go here
|
||||
|
||||
@@ -19,40 +19,3 @@ CONFIG.CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg
|
||||
|
||||
# Base name of start file
|
||||
START_BASE=start
|
||||
|
||||
## what to do about $(EXEEXT) --> $(EXEEXT)
|
||||
## -o $(basename $@)$(EXEEXT) OR
|
||||
## -o $(basename $@)$(EXEEXT) OR
|
||||
|
||||
EXEEXT=.exe
|
||||
DOWNEXT=.ralf
|
||||
|
||||
define bsp-link-c
|
||||
$(LINK.c) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \
|
||||
-o $(basename $@)$(EXEEXT) $(LINK_OBJS) $(LINK_LIBS)
|
||||
endef
|
||||
|
||||
define bsp-link-cxx
|
||||
$(LINK.cc) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \
|
||||
-o $(basename $@)$(EXEEXT) $(LINK_OBJS) $(LINK_LIBS)
|
||||
endef
|
||||
|
||||
define default-bsp-post-link
|
||||
$(NM) -g -n $@ > $(basename $@).num
|
||||
$(SIZE) $@
|
||||
endef
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
cp $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
|
||||
define make-exe
|
||||
$(bsp-link-c)
|
||||
$(bsp-post-link)
|
||||
endef
|
||||
|
||||
define make-cxx-exe
|
||||
$(bsp-link-cxx)
|
||||
$(bsp-post-link)
|
||||
endef
|
||||
|
||||
@@ -25,6 +25,6 @@ CFLAGS_OPTIMIZE_V = -O2 -g
|
||||
define bsp-post-link
|
||||
$(OBJCOPY) -O binary --remove-section=.comment \
|
||||
--remove-section=.note --strip-unneeded \
|
||||
$(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
$(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
$(default-bsp-post-link)
|
||||
endef
|
||||
|
||||
@@ -21,6 +21,6 @@ CPU_CFLAGS = -mcpu=arm920t -mstructure-size-boundary=32
|
||||
CFLAGS_OPTIMIZE_V = -O2 -g
|
||||
|
||||
define bsp-post-link
|
||||
$(OBJCOPY) -O binary $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
$(OBJCOPY) -O binary $(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
$(default-bsp-post-link)
|
||||
endef
|
||||
|
||||
@@ -21,7 +21,7 @@ CPU_CFLAGS = -msoft-float
|
||||
CFLAGS_OPTIMIZE_V = -O2 -g
|
||||
|
||||
define bsp-post-link
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@).srec
|
||||
$(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec
|
||||
sed -e 's/.$$//' -e '/^S0/d' $(basename $@).srec | \
|
||||
$(PACKHEX) > $(basename $@)$(DOWNEXT)
|
||||
$(default-bsp-post-link)
|
||||
|
||||
@@ -21,7 +21,7 @@ CPU_CFLAGS = -msoft-float
|
||||
CFLAGS_OPTIMIZE_V = -O2 -g -fomit-frame-pointer
|
||||
|
||||
define bsp-post-link
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@).srec
|
||||
$(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec
|
||||
sed -e 's/.$$//' -e '/^S0/d' $(basename $@).srec | \
|
||||
$(PACKHEX) > $(basename $@)$(DOWNEXT)
|
||||
rm -f $(basename $@).srec
|
||||
|
||||
@@ -54,7 +54,7 @@ START_BASE=
|
||||
AM_LDFLAGS += $(MBX8xx_LDFLAGS)
|
||||
|
||||
define bsp-post-link
|
||||
cp $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
cp $(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
$(STRIP) $(basename $@)$(DOWNEXT)
|
||||
$(default-bsp-post-link)
|
||||
endef
|
||||
|
||||
@@ -31,6 +31,6 @@ endif
|
||||
# is currently required.
|
||||
define bsp-post-link
|
||||
$(OBJCOPY) -O binary --strip-all \
|
||||
$(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
$(SIZE) $(basename $@)$(EXEEXT)
|
||||
$(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
$(SIZE) $(basename $@).exe
|
||||
endef
|
||||
|
||||
@@ -22,11 +22,11 @@ CFLAGS_OPTIMIZE_V = -O2 -g -mmultiple -mstring -mstrict-align
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O binary -R .comment -S $(basename $@)$(EXEEXT) rtems
|
||||
$(OBJCOPY) -O binary -R .comment -S $(basename $@).exe rtems
|
||||
gzip -vf9 rtems
|
||||
$(LD) -o $(basename $@)$(DOWNEXT) \
|
||||
$ $(PROJECT_RELEASE)/lib/bootloader.o \
|
||||
--just-symbols=$(basename $@)$(EXEEXT) \
|
||||
--just-symbols=$(basename $@).exe \
|
||||
-b binary rtems.gz -T $(PROJECT_RELEASE)/lib/ppcboot.lds \
|
||||
-Map $(basename $@).map && chmod 755 $@
|
||||
rm -f rtems.gz
|
||||
|
||||
@@ -36,8 +36,8 @@ define bsp-post-link
|
||||
return s } ;\
|
||||
/\.text/ { base = $$4 ; size = $$3 };\
|
||||
END { printf("0x%x", h2d(base) + h2d(size)) }'\
|
||||
` $(basename $@).pxe $(basename $@)$(EXEEXT)
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@).srec
|
||||
` $(basename $@).pxe $(basename $@).exe
|
||||
$(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec
|
||||
sed -e 's/.$$//' -e '/^S0/d' $(basename $@).srec | \
|
||||
$(PACKHEX) > $(basename $@)$(DOWNEXT)
|
||||
$(NM) -g -n $(basename $@).pxe > $(basename $@).pnum
|
||||
@@ -46,7 +46,7 @@ define bsp-post-link
|
||||
endef
|
||||
else
|
||||
define bsp-post-link
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@).srec
|
||||
$(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec
|
||||
sed -e 's/.$$//' -e '/^S0/d' $(basename $@).srec | \
|
||||
$(PACKHEX) > $(basename $@)$(DOWNEXT)
|
||||
rm -f $(basename $@).srec
|
||||
|
||||
@@ -21,11 +21,11 @@ CFLAGS_OPTIMIZE_V = -O2 -g -mmultiple -mstring -mstrict-align
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O binary -R .comment -S $(basename $@)$(EXEEXT) rtems
|
||||
$(OBJCOPY) -O binary -R .comment -S $(basename $@).exe rtems
|
||||
gzip -vf9 rtems
|
||||
$(LD) -o $(basename $@)$(DOWNEXT) \
|
||||
$(PROJECT_RELEASE)/lib/bootloader.o \
|
||||
--just-symbols=$(basename $@)$(EXEEXT) \
|
||||
--just-symbols=$(basename $@).exe \
|
||||
-b binary rtems.gz -T $(PROJECT_RELEASE)/lib/ppcboot.lds \
|
||||
-Map $(basename $@).map && chmod 755 $@
|
||||
rm -f rtems.gz
|
||||
|
||||
@@ -22,7 +22,7 @@ CPU_CFLAGS =
|
||||
CFLAGS_OPTIMIZE_V = -Os -g -fomit-frame-pointer -DNDEBUG
|
||||
|
||||
define bsp-post-link
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@).srec
|
||||
$(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec
|
||||
sed -e 's/.$$//' -e '/^S0/d' $(basename $@).srec | \
|
||||
$(PACKHEX) > $(basename $@)$(DOWNEXT)
|
||||
rm -f $(basename $@).srec
|
||||
|
||||
@@ -20,7 +20,7 @@ CPU_CFLAGS =
|
||||
CFLAGS_OPTIMIZE_V = -O2 -g -fomit-frame-pointer
|
||||
|
||||
define bsp-post-link
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@).srec
|
||||
$(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec
|
||||
sed -e 's/.$$//' -e '/^S0/d' $(basename $@).srec | \
|
||||
$(PACKHEX) > $(basename $@)$(DOWNEXT)
|
||||
rm -f $(basename $@).srec
|
||||
|
||||
@@ -25,7 +25,7 @@ CFLAGS_OPTIMIZE_V = -O2 -g -fomit-frame-pointer
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O binary $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
$(OBJCOPY) -O binary $(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
|
||||
# BSP-specific tools
|
||||
|
||||
@@ -31,7 +31,7 @@ CFLAGS_OPTIMIZE_V = -O2 -g -fomit-frame-pointer
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O binary $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
$(OBJCOPY) -O binary $(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
|
||||
# BSP-specific tools
|
||||
|
||||
@@ -42,6 +42,6 @@ CFLAGS_OPTIMIZE_V = -O2 -g -fno-omit-frame-pointer
|
||||
# for more details.
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
cp $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
cp $(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
$(STRIP) $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
|
||||
@@ -21,11 +21,11 @@ CFLAGS_OPTIMIZE_V = -O2 -g -mmultiple -mstring -mstrict-align
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O binary -R .comment -S $(basename $@)$(EXEEXT) rtems
|
||||
$(OBJCOPY) -O binary -R .comment -S $(basename $@).exe rtems
|
||||
gzip -vf9 rtems
|
||||
$(LD) -o $(basename $@)$(DOWNEXT) \
|
||||
$(PROJECT_RELEASE)/lib/bootloader.o \
|
||||
--just-symbols=$(basename $@)$(EXEEXT) \
|
||||
--just-symbols=$(basename $@).exe \
|
||||
-b binary rtems.gz -T $(PROJECT_RELEASE)/lib/ppcboot.lds \
|
||||
-Map $(basename $@).map && chmod 755 $@
|
||||
rm -f rtems.gz
|
||||
|
||||
@@ -22,10 +22,10 @@ CFLAGS_OPTIMIZE_V = -O2 -g
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O binary -R .comment -S $(basename $@)$(EXEEXT) rtems
|
||||
$(OBJCOPY) -O binary -R .comment -S $(basename $@).exe rtems
|
||||
gzip -vf9 rtems
|
||||
$(LD) -o $(basename $@)$(DOWNEXT) $(PROJECT_RELEASE)/lib/bootloader.o \
|
||||
--just-symbols=$(basename $@)$(EXEEXT) \
|
||||
--just-symbols=$(basename $@).exe \
|
||||
-b binary rtems.gz -T $(PROJECT_RELEASE)/lib/ppcboot.lds \
|
||||
-Map $(basename $@).map && chmod 755 $@
|
||||
rm -f rtems.gz
|
||||
|
||||
@@ -30,7 +30,7 @@ CFLAGS_DEBUG_V = -O1 -g
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O binary $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
$(OBJCOPY) -O binary $(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
|
||||
# Miscellaneous additions go here
|
||||
|
||||
@@ -24,7 +24,7 @@ CFLAGS_OPTIMIZE_V = -O2 -g
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O binary $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
$(OBJCOPY) -O binary $(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
|
||||
# No start file
|
||||
|
||||
@@ -24,7 +24,7 @@ CPU_CFLAGS = -mno-hw-mul -mno-hw-div
|
||||
CFLAGS_OPTIMIZE_V = -O0 -g
|
||||
|
||||
define bsp-post-link
|
||||
$(OBJCOPY) -O binary --strip-all $(basename $@)$(EXEEXT) \
|
||||
$(OBJCOPY) -O binary --strip-all $(basename $@).exe \
|
||||
-R entry -R exceptions $(basename $@)$(DOWNEXT)
|
||||
$(default-bsp-post-link)
|
||||
endef
|
||||
|
||||
@@ -23,7 +23,7 @@ RTEMS_BSP_FAMILY=pc386
|
||||
# optimize flag: typically -O2
|
||||
CFLAGS_OPTIMIZE_V = -O2 -g
|
||||
|
||||
# Here is the rule to actually build a $(ARCH)/foo$(EXEEXT)
|
||||
# Here is the rule to actually build a $(ARCH)/foo.exe
|
||||
# It also builds $(ARCH)/foo.sr and $(ARCH)/foo.nm
|
||||
# Usage ref: src/tests/sptest/sp1/Makefile
|
||||
|
||||
@@ -50,7 +50,7 @@ define bsp-post-link
|
||||
--remove-section=.rodata \
|
||||
--remove-section=.comment \
|
||||
--remove-section=.note \
|
||||
--strip-unneeded $(basename $@)$(EXEEXT) $(basename $@).nxe
|
||||
--strip-unneeded $(basename $@).exe $(basename $@).nxe
|
||||
$(OBJCOPY) -O binary $(basename $@).nxe $(basename $@).bin
|
||||
$(PROJECT_TOOLS)/bin2boot -v $(basename $@)$(DOWNEXT) $(HEADERADDR)\
|
||||
$(START16FILE) $(START16ADDR) 0 $(basename $@).bin $(RELOCADDR) 0
|
||||
|
||||
@@ -17,7 +17,7 @@ LINKCMDS=
|
||||
START_FILE=
|
||||
START_BASE=
|
||||
|
||||
# Here is the rule to actually build a $(ARCH)/foo$(EXEEXT)
|
||||
# Here is the rule to actually build a $(ARCH)/foo.exe
|
||||
# It also builds $(ARCH)/foo.sr and $(ARCH)/foo.nm
|
||||
# Usage ref: src/tests/sptest/sp1/Makefile
|
||||
#
|
||||
|
||||
@@ -27,7 +27,7 @@ CFLAGS_OPTIMIZE_V = -O2 -g -fno-keep-inline-functions
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@).s1
|
||||
$(OBJCOPY) -O srec $(basename $@).exe $(basename $@).s1
|
||||
sed -e 's/.$$//' $(basename $@).s1 | \
|
||||
$(PACKHEX) >$(basename $@)$(DOWNEXT)
|
||||
rm -f $(basename $@).s1
|
||||
|
||||
@@ -21,5 +21,5 @@ CFLAGS_OPTIMIZE_V = -O2 -g -fomit-frame-pointer
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
$(OBJCOPY) -O srec $(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
|
||||
@@ -21,5 +21,5 @@ CFLAGS_OPTIMIZE_V = -O2 -g -fomit-frame-pointer
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
$(OBJCOPY) -O srec $(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
|
||||
@@ -29,7 +29,7 @@ CFLAGS_OPTIMIZE_V = -O2 -g -fno-keep-inline-functions
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
cp $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
cp $(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
$(STRIP) $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
|
||||
|
||||
@@ -23,5 +23,5 @@ CFLAGS_OPTIMIZE_V = -O2 -g
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O binary $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
$(OBJCOPY) -O binary $(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
|
||||
@@ -19,5 +19,5 @@ CFLAGS_OPTIMIZE_V = -O2 -g
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O binary $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
$(OBJCOPY) -O binary $(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
|
||||
@@ -27,5 +27,5 @@ START_BASE=
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
$(OBJCOPY) -O srec $(basename $@).exe $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
|
||||
Reference in New Issue
Block a user