Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
39 user(s) are online (23 user(s) are browsing Forums)

Members: 1
Guests: 38

miggymac, more...

Support us!

Headlines

Forum Index


Board index » All Posts (billyfish)




Re: updating sgit
Just popping in
Just popping in


Hi all

So I've got my cross compiler set up so can now look at simplegit again. So I have it forked at https://github.com/billyfish/simplegit/ and https://github.com/billyfish/simplegit/blob/master/build.md explains the different build options I added and these were things like which c runtime library to use, which libgit2 directory to use, whether to link to the AmiSSL shared library, etc.

I can double track which revision it was that libgit2 moved from using straightforward memory copies to using mmap () and munmap () but it will now be a few years ago. So if we want to use the latest libgit2, we'll need implementations for those or workarounds

libgit2 also comes with an example client, lg, which is what I built in the past.

I'll take a look at the current state of play in libgit2 in the next day or two and see how many calls there are to mmap () and munmap () and adapt the build process to be able to use clib4 too

Go to top


Re: updating sgit
Just popping in
Just popping in


Hi all

Blimey it's been a while! I lost my dev set up on my old computer but I can take a look at rebuilding it again.

So my memory is like a sieve but I'm pretty sure that I had the option to build it so that it would use the amissl shared libraries rather than statically linking to openssl. The main issue was that at some point libgit2 moved over to using mmap () and munmap () and we didn't have support for those at the time.

Over the weekend I'll see if I can get it all set up again and see what I can do.

cheers

billy

Go to top


Re: Updater tool: latest releases and updates
Just popping in
Just popping in


@TSK

Quote:

Now if somebody could fix X1000's to accept Polaris cards!


100% Yes! I would happily pay towards this...

Go to top


Re: MediaVault releases
Just popping in
Just popping in


@beanbandit

Quote:

Don't hangup with oo.library a more likely candidate is Jansson.library i would suggest to look into that if you have duplicates or an older version than the requested 2.12.1


That's always possible, could even be a bug in my porting of it :-/ Certainly George found a bug in the error handling that I need to look at.

On my X1000, the latest version of MediaVault works fine for me, which probably doesn't help.

Go to top


Re: GDB
Just popping in
Just popping in


@alfkil

Quote:

There is an issue on timing related to the setting and clearing of breakpoints. What kasie and billyfish is trying to do is to clear the instruction cache and is hoping, that this will establish a safety point to rely uppon, when execution of the sub-process is re-initiated. Only problem is : We have not established this. Unless we know how to rely and/or not rely on a function like IMMU->CacheClearE(), we have no grounds for assuming, that it works in one way or another.

In my initial work with db101 (and Qt as well), I needed to constantly check the minutest details about how the different functions of the system expressed their reliability-matrices. This resulted in a rather large battery of test-apps - all written in c - that might still reside on some harddrive somewhere. This is of course not an attempt to elicit some kind of awe-inflicting "historical value"-argument on my old harddrives. It is rather to say, that if you guys want to make progress, you need to isolate problems, and you need to go small - very small. I'd say, unless you can create a test-application in less than 5 lines for the main() function, and unless you can make that test app absolutely certainty-locked-hammered-and-closure-proven show, that your case is clear as a polished winter morning in your favorite fairytale fantasy - then you still have work to do.

Keep going, I know you can fix this.




Thanks Alfkil, this is really useful. Yup, I've got a very basic helloworld program that I'm using as my test case .


As regards SimpleDebug, yup I'm using it big time and working on getting it into C so that I understand what magic your code is doing :) and then try and see what to do with that then. It's really useful for working out these GDB issues as it gives me a working example of debugging code that works correctly by stopping at a breakpoint.


As for the latest with GDB, I've got my test case where I'm setting a breakpoint at a given line in both SimpleDebug and GDB. I've added code to print out the memory 32 bytes either side of where they are both inserting the breakpoint instruction so I can compare where they are putting it. I can see that GDB is putting at a different place which would explain it not working, so I'm thinking that I've got the relocation set up wrong. I'd copied the code from SimpleDebug where it relocates the .stabs and .stabstr sections into GDB but it looks like I need to do more. Hopefully I'm now on the right path with this

And yes, getting you a working OS4 machine would be awesome!








Go to top


Re: Amiga United Ltd
Just popping in
Just popping in


@walkero


This idea of all companies coming together definitely gets my vote!

Go to top


Re: GDB
Just popping in
Just popping in


@Kamelito

That's a good point, I call

IExec->CacheClearE((APTR)address0xffffffffCACRF_ClearICACRF_ClearD);


after setting them. It's the same code in both SimpleDebug and gdb, but only works in SimpleDebug at the moment. My next step is to check a few bytes either side of where I'm putting the breakpoint to check whether they are the same in both situations in case I'm somehow writing to the wrong address in gdb.


Go to top


Re: GDB
Just popping in
Just popping in


@Raziel

I look forward to it getting (ab)used! Well I still haven't managed to get the breakpoints working yet, something odd is going on. I've used both the old gdb trap instruction and the code that SimpleDebug uses and even though it appears that the breakpoint instructions get written to the memory, the code just happily executes. I've confirmed that the SimpleDebug breakpoint codes in itself so it's a bit of a puzzle. The next thing to check is the memory address that is getting overwritten with the breakpoint to see if it's the same for both programs.

On the plus side, the work I've done on adapting SimpleDebug means that we're still closer to having at least one debugger. My plan is still to get gdb behaving properly too but it's good to have options.

Go to top


Re: Is there a fine line of working for free in Amiga world?
Just popping in
Just popping in


FWIW I really appreciate the beta testing and bug reporting you did on earmark George, it was super helpful. The more people chipping in, whether it being testing, developing, etc. the better, the more apps we get. I mean Roman is a one-man powerhouse of getting stuff ported!




Go to top


Re: GDB
Just popping in
Just popping in


Sorry for being away from this for a few weeks, work has been crazy, I'll be back on this in thex next few days. As another route into this, I've also been working on getting a version of Alfkil's SimpleDebug code, since it worked for me, ported from C++ to C as a way of getting another debugger working too. One of the lessons I got from our work on GDB is that it helps me actually understand what is going on codewise more easily doing it that way, rather than tinkering at the edges of existing code not necessarily understanding what is going on. This should help the GDB port too and of course I'll make the github repo public. I also plan to add things like a gui to it too.

Go to top


Re: Is there a fine line of working for free in Amiga world?
Just popping in
Just popping in


@Rigo

That reads a little bit harshly, certainly doesn't come across as whining to me anyway.

@walkero

I'm probably biased here as I'm lucky enough to do a job where all of my code is open source so making my amiga stuff open source is just more of the same for me. The issue is getting the time. For instance, I haven't had a chance to look at the gdb port for a few weeks, though it looks like I'll be able to again from the start of next week.






Go to top


Re: gcc 9 and 10
Just popping in
Just popping in


If you have a globals header file you can have something like

#ifndef DOXYGEN_SHOULD_SKIP_THIS

#ifdef ALLOCATE_GLOBALS
    #define GLOBAL_PREFIX 
    #define GLOBAL_VAL(x)    = x
#else
    #define GLOBAL_PREFIX extern
    #define GLOBAL_VAL(x)
#endif

#endif         /* #ifndef DOXYGEN_SHOULD_SKIP_THIS */

GLOBAL_PREFIX const char *G_NAME_S GLOBAL_VAL ("name");
GLOBAL_PREFIX int g_log_level GLOBAL_VAL (1);



then in one of the c source files have

#define ALLOCATE_GLOBALS (1)


before the

#include "globals.h"

line in that particular file and it will define and declare the variables just fine

Go to top


Re: GDB
Just popping in
Just popping in


@kas1e

Hi Roman, yeah it's been a bit slow in the last few days but I'm hoping to pick it up again in the next week. Obviously if anyone wants to get involved too, then they're very welcome!

I've been going through the Spotless code too so see how things are done there which hopefully will give some insight into what I'm not doing for the breakpoints to be picked up correctly in GDB.


Go to top


Re: Enhancer Software v2.0 Released
Just popping in
Just popping in


OK I've got a bug report for ES 2 version of copy. If I type

copy <file_1> <file_2>

Nothing happens. There is no error output and the second file isn't created. The OS 4.1 version of copy works fine.

I've removed the "copy" command in appdir: and am explicitly calling each version of the copy with their full path. I'm on an SFS 1.293 partition.

What new features does the ES copy command have?


Go to top


Re: Enhancer Software v2.0 Released
Just popping in
Just popping in


Just for info I get a similar crash to @daveyw when running the installer. MULTIVIEWER:ScanSavers () when accessing mpega.datatype:_mpega_NewObject ().

version of DEVS:Datatypes/mpega is 53.26
version of sys:classes/datatypes/mpega.datatype is 54.2


Go to top


Re: Enhancer Software v2.0 Released
Just popping in
Just popping in


A big thank you to the developers and Matthew for this. If the X1000 gets the hardware decoding library in the future I will definitely be doing the dance of joy Would happily pay if that could help make it a reality.

Go to top


Re: ELF and shared objects headache
Just popping in
Just popping in


@afxgroup

Ignore my previous idea, didn't spot the call to _main();




Edited by billyfish on 2021/3/26 10:55:01
Go to top


Re: Third Mouse button
Just popping in
Just popping in


@Templario

Sorry for my typo, I meant clickety flip!

http://os4depot.net/?function=showfil ... ity/misc/clicketyflip.lha

Go to top


Re: Third Mouse button
Just popping in
Just popping in


Flippety click does that and comes with the source code

Go to top


Re: GDB
Just popping in
Just popping in


Thanks guys, I still haven't managed to get the breakpoints working, grr! Roman, can you remember when we did we have breakpoints working? If we did, then that will give me a base to compare to.

The helloworld example doesn't crash for me but the breakpoints don't work. For example

#include <stdio.h>

int main (void)
{
  
printf ("hello world\n");

  return 
0;
}


Runs without crashing but any breakpoints just get ignored.

I've uploaded some updates which that to deal with the debug messages sent by our hook function. For instance,

#include <stdio.h>

int main (void)
{
  
int *i_p NULL;

  
printf ("here comes the crash...\n");

  
/* BOOM! */
  
*i_p 9;

  return 
0;
}


will now get caught by gdb, though you can't inspect the variables, etc. yet. So that needs adding too. Hopefully the code from https://github.com/alfkil/Spotless/blo ... r/SimpleDebug/Symbols.cpp will give that to us.

If you look at lines 96-109 of amigaos-nat.c, there are two new flags to adjust which functions get used by our target

/*
 * If this is TRUE, then the breakpoint code based upon Spotless
 * is used. If this is FALSE, then the breakpoint code based upon
 * the old gdb 6.3 port is used instead.
 */
static const BOOL s_use_spotless_breakpoints_flag FALSE;

/*
 * If this is TRUE, then the memory transfer routine from the old
 * gdb 6.3 port is used. If this is FALSE, then the code uses the
 * new partial_mem_transfer API with amigaos_xfer_partial ()
 * instead.
 */
static const BOOL s_use_deprecated_mem_transfer_flag TRUE;


So still more to do but hopefully the breakpoints will work soon!

Go to top



TopTop
(1) 2 3 4 ... 9 »




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project