From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19163 invoked by alias); 22 Apr 2005 19:07:23 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 18652 invoked from network); 22 Apr 2005 19:07:16 -0000 Received: from unknown (HELO sibelius.xs4all.nl) (82.92.89.47) by sourceware.org with SMTP; 22 Apr 2005 19:07:16 -0000 Received: from elgar.sibelius.xs4all.nl (root@elgar.sibelius.xs4all.nl [192.168.0.2]) by sibelius.xs4all.nl (8.13.0/8.13.0) with ESMTP id j3MJ7BLj024618 for ; Fri, 22 Apr 2005 21:07:11 +0200 (CEST) Received: from elgar.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by elgar.sibelius.xs4all.nl (8.13.4/8.13.3) with ESMTP id j3MJ7A1B030751 for ; Fri, 22 Apr 2005 21:07:10 +0200 (CEST) Received: (from kettenis@localhost) by elgar.sibelius.xs4all.nl (8.13.4/8.13.4/Submit) id j3MJ7APM000140; Fri, 22 Apr 2005 21:07:10 +0200 (CEST) Date: Fri, 22 Apr 2005 19:07:00 -0000 Message-Id: <200504221907.j3MJ7APM000140@elgar.sibelius.xs4all.nl> From: Mark Kettenis To: gdb-patches@sourceware.org Subject: [COMMIT] Disentangle SPARC Linux from Solaris X-SW-Source: 2005-04/txt/msg00286.txt.bz2 It doesn't really make sense anymore for the Linux targets to be based on thee Solaris targets. Committed, Mark Index: ChangeLog from Mark Kettenis * sparc-linux-tdep.c: Update copyright year. (sparc32_linux_init_abi): Set skip_trampoline_code and solib_svr4_fetch_link_map_offsets. Set TDEP->plt_entry_size. Don't set software_single_step and don't call sparc32_sol2_init_abi. * sparc64-linux-tdep.c: Update copyright year. (sparc64_linux_init_abi): Set skip_trampoline_code and solib_svr4_fetch_link_map_offsets. Set TDEP->plt_entry_size. Don't set software_single_step and don't call sparc64_sol2_init_abi. Index: sparc-linux-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/sparc-linux-tdep.c,v retrieving revision 1.11 diff -u -p -r1.11 sparc-linux-tdep.c --- sparc-linux-tdep.c 21 Apr 2005 22:04:04 -0000 1.11 +++ sparc-linux-tdep.c 22 Apr 2005 19:04:19 -0000 @@ -1,6 +1,6 @@ /* Target-dependent code for GNU/Linux SPARC. - Copyright 2003, 2004 Free Software Foundation, Inc. + Copyright 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GDB. @@ -144,14 +144,19 @@ sparc32_linux_sigframe_init (const struc static void sparc32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) { + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + tramp_frame_prepend_unwinder (gdbarch, &sparc32_linux_sigframe); tramp_frame_prepend_unwinder (gdbarch, &sparc32_linux_rt_sigframe); - /* GNU/Linux is very similar to Solaris ... */ - sparc32_sol2_init_abi (info, gdbarch); - - /* ... but doesn't have kernel-assisted single-stepping support. */ - set_gdbarch_software_single_step (gdbarch, sparc_software_single_step); + /* GNU/Linux has SVR4-style shared libraries... */ + set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target); + set_solib_svr4_fetch_link_map_offsets + (gdbarch, svr4_ilp32_fetch_link_map_offsets); + + /* ...which means that we need some special handling when doing + prologue analysis. */ + tdep->plt_entry_size = 12; /* GNU/Linux doesn't support the 128-bit `long double' from the psABI. */ set_gdbarch_long_double_bit (gdbarch, 64); Index: sparc64-linux-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/sparc64-linux-tdep.c,v retrieving revision 1.6 diff -u -p -r1.6 sparc64-linux-tdep.c --- sparc64-linux-tdep.c 21 Apr 2005 22:04:04 -0000 1.6 +++ sparc64-linux-tdep.c 22 Apr 2005 19:04:20 -0000 @@ -1,6 +1,6 @@ /* Target-dependent code for GNU/Linux UltraSPARC. - Copyright 2003, 2004 Free Software Foundation, Inc. + Copyright 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GDB. @@ -106,11 +106,14 @@ sparc64_linux_init_abi (struct gdbarch_i tramp_frame_prepend_unwinder (gdbarch, &sparc64_linux_rt_sigframe); - /* GNU/Linux is very similar to Solaris ... */ - sparc64_sol2_init_abi (info, gdbarch); - - /* ... but doesn't have kernel-assisted single-stepping support. */ - set_gdbarch_software_single_step (gdbarch, sparc_software_single_step); + /* GNU/Linux has SVR4-style shared libraries... */ + set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target); + set_solib_svr4_fetch_link_map_offsets + (gdbarch, svr4_lp64_fetch_link_map_offsets); + + /* ...which means that we need some special handling when doing + prologue analysis. */ + tdep->plt_entry_size = 16; /* Enable TLS support. */ set_gdbarch_fetch_tls_load_module_address (gdbarch,