Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
156 user(s) are online (127 user(s) are browsing Forums)

Members: 0
Guests: 156

more...

Headlines

Forum Index


Board index » All Posts (billyfish)




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


Re: GDB
Just popping in
Just popping in


@kas1e

Quote:

No no, I tested your latest commit today: all builds and works as expected (i.e. binary loads, etc and breakpoints do not work as I wrote). But it definitely runs and loads up binaries as before.


phew!

Quote:

On my side I use Cygwin.

My bet that Javier may try to build it differently (i.e. configure part), and that can be the reason for failure.


That would definitely be the best scenario

Go to top


Re: GDB
Just popping in
Just popping in


@kas1e

Quote:

But for now, testing will make no big sense anyway, as breakpoints seem not works at the moment. I.e. they seem installed, but the process didn't pause as I can see from the log, and instead continue till the end.


Ack, was worth a try but I couldn't test the code to check so hopefully it's a simple fix to get it working. I should have a new hard drive in the next day or two so I'll then be able to get my amiga working again as it has had to donate its hard drive to the computer I use for work.


Quote:

Btw, do you think we need "debug interrupts to work" there in GDB at this point? I mean, to have the ability to use just software breakpoints (which we tried to do now)? I think no? I just fear that debug-interrupts don't work on x5000 at all currently.


They're definitely something I want to get working, basically if a program crashes when running under GDB it will be the debug interrupt that will be called and stop the program at that point so you can inspect what is wrong. It requires the breakpoint code to be working first so that's the priority

As for the X5000, I hope it will work but I'll be relying on you for testing as I've just got an X1000

@jabirulo

The error message that you were getting was in the bfd part of the code and unless I've done something really stupid, which is always possible , the last few commits shouldn't have affected that as I haven't been touching that part of the code.

If you run sashimi, it should produce a debug output which will hopefully give more of an insight.

The only thing that I can think of that you're doing differently is that you're building it on Cygwin and I'm on Linux, I'm not sure what Roman is using. This might what the problem is as the code that builds gdb uses sed sometimes to get certain functions to add to gdb's automatically-generated code and this normally is at the start of a line, so it might be a line terminator issue?


Go to top



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




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project