m68k: fix broken buildman m68k
PATCH 1/1 m68k: fix broken buildman m68k
fix 19/48 broken board compilations, due to a now too smal 16-bit relative jump
--- arch/m68k/cpu/mcf523x/start.S | 8 ++++++-- arch/m68k/cpu/mcf52x2/start.S | 8 ++++++-- arch/m68k/cpu/mcf532x/start.S | 8 ++++++-- arch/m68k/cpu/mcf5445x/start.S | 8 ++++++-- 4 files changed, 24 insertions(+), 8 deletions(-)
arch/m68k/cpu/mcf523x/start.S +6 -2
@@ -141,8 +141,12 @@ _start: move.l #__got_start, %a5 /* put relocation table address to a5 */ - bsr cpu_init_f /* run low-level CPU init code (from flash) */ - bsr board_init_f /* run low-level board init code (from flash) */ + /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */
arch/m68k/cpu/mcf52x2/start.S +6 -2
@@ -198,8 +198,12 @@ _after_flashbar_copy: move.l #__got_start, %a5 /* put relocation table address to a5 */ - bsr cpu_init_f /* run low-level CPU init code (from flash) */ - bsr board_init_f /* run low-level board init code (from flash) */ + /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */
arch/m68k/cpu/mcf532x/start.S +6 -2
@@ -155,8 +155,12 @@ _start: move.l #__got_start, %a5 /* put relocation table address to a5 */ - bsr cpu_init_f /* run low-level CPU init code (from flash) */ - bsr board_init_f /* run low-level board init code (from flash) */ + /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */
arch/m68k/cpu/mcf5445x/start.S +6 -2
@@ -664,8 +664,12 @@ _start: move.l #__got_start, %a5 /* put relocation table address to a5 */ - bsr cpu_init_f /* run low-level CPU init code (from flash) */ - bsr board_init_f /* run low-level board init code (from flash) */ + /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */
Signature · 1 line
2.7.0
PATCH 1/1 m68k: fix broken buildman m68k
Quoted 2 lines · Angelo Dureghello
fix 19/48 broken board compilations, due to a now too smal 16-bit relative jump
Won't it make sense to tweak the linker script to put those functions closer together instead ?
Quoted 85 lines
Signed-off-by Angelo Dureghello <[email protected]>--- arch/m68k/cpu/mcf523x/start.S | 8 ++++++-- arch/m68k/cpu/mcf52x2/start.S | 8 ++++++-- arch/m68k/cpu/mcf532x/start.S | 8 ++++++-- arch/m68k/cpu/mcf5445x/start.S | 8 ++++++-- 4 files changed, 24 insertions(+), 8 deletions(-)arch/m68k/cpu/mcf523x/start.S +6
-2@@ -141,8 +141,12 @@ _start: move.l #__got_start, %a5 /* put relocation table address to a5 */ - bsr cpu_init_f /* run low-level CPU init code (from flash) */ - bsr board_init_f /* run low-level board init code (from flash) */ + /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */arch/m68k/cpu/mcf52x2/start.S +6
-2@@ -198,8 +198,12 @@ _after_flashbar_copy: move.l #__got_start, %a5 /* put relocation table address to a5 */ - bsr cpu_init_f /* run low-level CPU init code (from flash) */ - bsr board_init_f /* run low-level board init code (from flash) */ + /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */arch/m68k/cpu/mcf532x/start.S +6
-2@@ -155,8 +155,12 @@ _start: move.l #__got_start, %a5 /* put relocation table address to a5 */ - bsr cpu_init_f /* run low-level CPU init code (from flash) */ - bsr board_init_f /* run low-level board init code (from flash) */ + /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */arch/m68k/cpu/mcf5445x/start.S +6
-2@@ -664,8 +664,12 @@ _start: move.l #__got_start, %a5 /* put relocation table address to a5 */ - bsr cpu_init_f /* run low-level CPU init code (from flash) */ - bsr board_init_f /* run low-level board init code (from flash) */ + /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */
Signature · 2 lines
Best regards, Marek Vasut
PATCH 1/1 m68k: fix broken buildman m68k
Hi,
Quoted 7 lines · Marek Vasut
Quoted 2 lines · Angelo Dureghello
fix 19/48 broken board compilations, due to a now too smal 16-bit relative jump
Won't it make sense to tweak the linker script to put those functions closer together instead ?
Sure, good idea. Will follow v.2.
Best regards
Angelo Dureghello
PATCH 1/1 m68k: fix broken buildman m68k
In reply to Marek VasutHi,
Quoted 7 lines · Marek Vasut
Quoted 2 lines · Angelo Dureghello
fix 19/48 broken board compilations, due to a now too smal 16-bit relative jump
Won't it make sense to tweak the linker script to put those functions closer together instead ?
tried hardly with linker script, keeping the functions near, but "relocation truncated to fit: R_68K_PC16 .." error moves to other jumps now. The fix in this way seems a bit too complex so i suggest to maintain the jumps as in the patch below.
Best regards,
Angelo Dureghello
Quoted 87 lines
Quoted 85 lines
Signed-off-by Angelo Dureghello <[email protected]>--- arch/m68k/cpu/mcf523x/start.S | 8 ++++++-- arch/m68k/cpu/mcf52x2/start.S | 8 ++++++-- arch/m68k/cpu/mcf532x/start.S | 8 ++++++-- arch/m68k/cpu/mcf5445x/start.S | 8 ++++++-- 4 files changed, 24 insertions(+), 8 deletions(-)arch/m68k/cpu/mcf523x/start.S +6
-2@@ -141,8 +141,12 @@ _start: move.l #__got_start, %a5 /* put relocation table address to a5 */ - bsr cpu_init_f /* run low-level CPU init code (from flash) */ - bsr board_init_f /* run low-level board init code (from flash) */ + /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */arch/m68k/cpu/mcf52x2/start.S +6
-2@@ -198,8 +198,12 @@ _after_flashbar_copy: move.l #__got_start, %a5 /* put relocation table address to a5 */ - bsr cpu_init_f /* run low-level CPU init code (from flash) */ - bsr board_init_f /* run low-level board init code (from flash) */ + /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */arch/m68k/cpu/mcf532x/start.S +6
-2@@ -155,8 +155,12 @@ _start: move.l #__got_start, %a5 /* put relocation table address to a5 */ - bsr cpu_init_f /* run low-level CPU init code (from flash) */ - bsr board_init_f /* run low-level board init code (from flash) */ + /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */arch/m68k/cpu/mcf5445x/start.S +6
-2@@ -664,8 +664,12 @@ _start: move.l #__got_start, %a5 /* put relocation table address to a5 */ - bsr cpu_init_f /* run low-level CPU init code (from flash) */ - bsr board_init_f /* run low-level board init code (from flash) */ + /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */
PATCH 1/1 m68k: fix broken buildman m68k
Quoted 5 lines · Angelo Dureghello
Hi,
Quoted 1 line · Marek Vasut
On 04/12/2016 12:30 AM, Angelo Dureghello wrote:
Quoted 8 lines
Quoted 6 lines
Quoted 2 lines
fix 19/48 broken board compilations, due to a now too smal 16-bit relative jump
Won't it make sense to tweak the linker script to put those functions closer together instead ?
tried hardly with linker script
You hardly tried or did you try hard ? :b
, keeping the functions near,
Quoted 3 lines
but "relocation truncated to fit:
R_68K_PC16.." error moves to other jumps now. The fix in this way seems a bit too complex so i suggest to maintain the jumps as in the patch below.
I agree and thanks for clarifying on IRC too.
Quoted 106 lines
Best regards,
Angelo DureghelloQuoted 103 lines
Quoted 101 lines
Signed-off-by Angelo Dureghello <[email protected]>--- arch/m68k/cpu/mcf523x/start.S | 8 ++++++-- arch/m68k/cpu/mcf52x2/start.S | 8 ++++++-- arch/m68k/cpu/mcf532x/start.S | 8 ++++++-- arch/m68k/cpu/mcf5445x/start.S | 8 ++++++-- 4 files changed, 24 insertions(+), 8 deletions(-)arch/m68k/cpu/mcf523x/start.S +0
-0@@ -141,8 +141,12 @@ _start: move.l #__got_start, %a5 /* put relocation table address toa5 */
- bsr
cpu_init_f/* run low-level CPU init code (from
flash) */
- bsrboard_init_f/* run low-level board init code (from
flash) */arch/m68k/cpu/mcf523x/start.S +6
-0+ /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */arch/m68k/cpu/mcf52x2/start.S +0
-0@@ -198,8 +198,12 @@ _after_flashbar_copy: move.l #__got_start, %a5 /* put relocation table addressto a5 */
- bsr
cpu_init_f/* run low-level CPU init code
(from flash) */
- bsrboard_init_f/* run low-level board init code
(from flash) */arch/m68k/cpu/mcf52x2/start.S +6
-0+ /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */arch/m68k/cpu/mcf532x/start.S +0
-0@@ -155,8 +155,12 @@ _start: move.l #__got_start, %a5 /* put relocation table address toa5 */
- bsr
cpu_init_f/* run low-level CPU init code (from
flash) */
- bsrboard_init_f/* run low-level board init code (from
flash) */arch/m68k/cpu/mcf532x/start.S +6
-0+ /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */arch/m68k/cpu/mcf5445x/start.S +0
-0@@ -664,8 +664,12 @@ _start: move.l #__got_start, %a5 /* put relocation table address toa5 */
- bsr
cpu_init_f/* run low-level CPU init code (from
flash) */
- bsrboard_init_f/* run low-level board init code (from
flash) */arch/m68k/cpu/mcf5445x/start.S +6
-0+ /* run low-level CPU init code (from flash) */ + move.l #cpu_init_f, %a1 + jsr (%a1) + /* run low-level board init code (from flash) */ + move.l #board_init_f, %a1 + jsr (%a1) /* board_init_f() does not return */
Signature · 2 lines
Best regards, Marek Vasut
PATCH 1/1 m68k: fix broken buildman m68k
In reply to Angelo DureghelloHello Angelo,
Am 12.04.2016 um 00:30 schrieb Angelo Dureghello:
Quoted 10 lines
fix 19/48 broken board compilations, due to a now too smal 16-bit relative jump
Signed-off-by Angelo Dureghello <[email protected]>--- arch/m68k/cpu/mcf523x/start.S | 8 ++++++-- arch/m68k/cpu/mcf52x2/start.S | 8 ++++++-- arch/m68k/cpu/mcf532x/start.S | 8 ++++++-- arch/m68k/cpu/mcf5445x/start.S | 8 ++++++-- 4 files changed, 24 insertions(+), 8 deletions(-)
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Quoted 6 lines · angelo at sysam.it
fix 19/48 broken board compilations, due to a now too smal 16-bit relative jump
Signed-off-by Angelo Dureghello <[email protected]>Acked-by Marek Vasut <[email protected]>Acked-by Heiko Schocher <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160421/e95c11f0/attachment.sig>